Project import generated by Copybara.

GitOrigin-RevId: ce5e4a6ef2e59d89a971bc434ca8ca222b9c7f5e
This commit is contained in:
Default email 2023-08-10 09:59:29 +02:00
parent 9c9286ec82
commit d5f4a57cbf
1505 changed files with 45666 additions and 34530 deletions

View file

@ -58,9 +58,11 @@
/maintainers/scripts/db-to-md.sh @jtojnar @ryantm /maintainers/scripts/db-to-md.sh @jtojnar @ryantm
/maintainers/scripts/doc @jtojnar @ryantm /maintainers/scripts/doc @jtojnar @ryantm
/doc/build-aux/pandoc-filters @jtojnar # Contributor documentation
/doc/contributing/ @fricklerhandwerk /CONTRIBUTING.md @infinisil
/doc/contributing/contributing-to-documentation.chapter.md @jtojnar @fricklerhandwerk /.github/PULL_REQUEST_TEMPLATE.md @infinisil
/doc/contributing/ @fricklerhandwerk @infinisil
/doc/contributing/contributing-to-documentation.chapter.md @jtojnar @fricklerhandwerk @infinisil
# NixOS Internals # NixOS Internals
/nixos/default.nix @infinisil /nixos/default.nix @infinisil
@ -240,11 +242,11 @@ pkgs/development/python-modules/buildcatrust/ @ajs124 @lukegb @mweinelt
/pkgs/top-level/php-packages.nix @jtojnar @aanderse @drupol @etu @globin @ma27 @talyz /pkgs/top-level/php-packages.nix @jtojnar @aanderse @drupol @etu @globin @ma27 @talyz
# Podman, CRI-O modules and related # Podman, CRI-O modules and related
/nixos/modules/virtualisation/containers.nix @zowoq @adisbladis /nixos/modules/virtualisation/containers.nix @adisbladis
/nixos/modules/virtualisation/cri-o.nix @zowoq @adisbladis /nixos/modules/virtualisation/cri-o.nix @adisbladis
/nixos/modules/virtualisation/podman @zowoq @adisbladis /nixos/modules/virtualisation/podman @adisbladis
/nixos/tests/cri-o.nix @zowoq @adisbladis /nixos/tests/cri-o.nix @adisbladis
/nixos/tests/podman @zowoq @adisbladis /nixos/tests/podman @adisbladis
# Docker tools # Docker tools
/pkgs/build-support/docker @roberth /pkgs/build-support/docker @roberth
@ -275,12 +277,6 @@ pkgs/development/python-modules/buildcatrust/ @ajs124 @lukegb @mweinelt
# terraform providers # terraform providers
/pkgs/applications/networking/cluster/terraform-providers @zowoq /pkgs/applications/networking/cluster/terraform-providers @zowoq
# kubernetes
/nixos/doc/manual/configuration/kubernetes.chapter.md @zowoq
/nixos/modules/services/cluster/kubernetes @zowoq
/nixos/tests/kubernetes @zowoq
/pkgs/applications/networking/cluster/kubernetes @zowoq
# Matrix # Matrix
/pkgs/servers/heisenbridge @piegamesde /pkgs/servers/heisenbridge @piegamesde
/pkgs/servers/matrix-conduit @piegamesde /pkgs/servers/matrix-conduit @piegamesde

View file

@ -1,17 +1,31 @@
# Testers {#chap-testers} # Testers {#chap-testers}
This chapter describes several testing builders which are available in the `testers` namespace. This chapter describes several testing builders which are available in the `testers` namespace.
## `hasPkgConfigModule` {#tester-hasPkgConfigModule} ## `hasPkgConfigModules` {#tester-hasPkgConfigModules}
Checks whether a package exposes a certain `pkg-config` module. <!-- Old anchor name so links still work -->
[]{#tester-hasPkgConfigModule}
Checks whether a package exposes a given list of `pkg-config` modules.
If the `moduleNames` argument is omitted, `hasPkgConfigModules` will
use `meta.pkgConfigModules`.
Example: Example:
```nix ```nix
passthru.tests.pkg-config = testers.hasPkgConfigModule { passthru.tests.pkg-config = testers.hasPkgConfigModules {
package = finalAttrs.finalPackage; package = finalAttrs.finalPackage;
moduleName = "libfoo"; moduleNames = [ "libfoo" ];
} };
```
If the package in question has `meta.pkgConfigModules` set, it is even simpler:
```nix
passthru.tests.pkg-config = testers.hasPkgConfigModules {
package = finalAttrs.finalPackage;
};
meta.pkgConfigModules = [ "libfoo" ];
``` ```
## `testVersion` {#tester-testVersion} ## `testVersion` {#tester-testVersion}

View file

@ -1,22 +1,22 @@
# zigHook {#zighook} # zig.hook {#zig-hook}
[Zig](https://ziglang.org/) is a general-purpose programming language and toolchain for maintaining robust, optimal and reusable software. [Zig](https://ziglang.org/) is a general-purpose programming language and toolchain for maintaining robust, optimal and reusable software.
In Nixpkgs, `zigHook` overrides the default build, check and install phases. In Nixpkgs, `zig.hook` overrides the default build, check and install phases.
## Example code snippet {#example-code-snippet} ## Example code snippet {#example-code-snippet}
```nix ```nix
{ lib { lib
, stdenv , stdenv
, zigHook , zig_0_11
}: }:
stdenv.mkDerivation { stdenv.mkDerivation {
# . . . # . . .
nativeBuildInputs = [ nativeBuildInputs = [
zigHook zig_0_11.hook
]; ];
zigBuildFlags = [ "-Dman-pages=true" ]; zigBuildFlags = [ "-Dman-pages=true" ];
@ -27,7 +27,7 @@ stdenv.mkDerivation {
} }
``` ```
## Variables controlling zigHook {#variables-controlling-zighook} ## Variables controlling zig.hook {#variables-controlling-zig-hook}
### `dontUseZigBuild` {#dontUseZigBuild} ### `dontUseZigBuild` {#dontUseZigBuild}
@ -53,7 +53,7 @@ Disables using `zigInstallPhase`.
Controls the flags passed to the install phase. Controls the flags passed to the install phase.
### Variables honored by zigHook {#variablesHonoredByZigHook} ### Variables honored by zig.hook {#variables-honored-by-zig-hook}
- `prefixKey` - `prefixKey`
- `dontAddPrefix` - `dontAddPrefix`

View file

@ -997,13 +997,18 @@ and in this case the `python3` interpreter is automatically used.
### Interpreters {#interpreters} ### Interpreters {#interpreters}
Versions 2.7, 3.8, 3.9, 3.10 and 3.11 of the CPython interpreter are available | Package | Aliases | Interpreter |
as respectively `python27`, `python38`, `python39`, `python310` and `python311`. |------------|-----------------|-------------|
The aliases `python2` and `python3` correspond to respectively `python27` and | python27 | python2, python | CPython 2.7 |
`python310`. The attribute `python` maps to `python2`. The PyPy interpreters | python38 | | CPython 3.8 |
compatible with Python 2.7 and 3 are available as `pypy27` and `pypy3`, with | python39 | | CPython 3.9 |
aliases `pypy2` mapping to `pypy27` and `pypy` mapping to `pypy2`. The Nix | python310 | python3 | CPython 3.10 |
expressions for the interpreters can be found in | python311 | | CPython 3.11 |
| python312 | | CPython 3.12 |
| pypy27 | pypy2, pypy | PyPy2.7 |
| pypy39 | pypy3 | PyPy 3.9 |
The Nix expressions for the interpreters can be found in
`pkgs/development/interpreters/python`. `pkgs/development/interpreters/python`.
All packages depending on any Python interpreter get appended All packages depending on any Python interpreter get appended
@ -1185,11 +1190,12 @@ following are specific to `buildPythonPackage`:
variables which will be available when the binary is run. For example, variables which will be available when the binary is run. For example,
`makeWrapperArgs = ["--set FOO BAR" "--set BAZ QUX"]`. `makeWrapperArgs = ["--set FOO BAR" "--set BAZ QUX"]`.
* `namePrefix`: Prepends text to `${name}` parameter. In case of libraries, this * `namePrefix`: Prepends text to `${name}` parameter. In case of libraries, this
defaults to `"python3.8-"` for Python 3.8, etc., and in case of applications defaults to `"python3.8-"` for Python 3.8, etc., and in case of applications to `""`.
to `""`.
* `pipInstallFlags ? []`: A list of strings. Arguments to be passed to `pip * `pipInstallFlags ? []`: A list of strings. Arguments to be passed to `pip
install`. To pass options to `python setup.py install`, use install`. To pass options to `python setup.py install`, use
`--install-option`. E.g., `pipInstallFlags=["--install-option='--cpp_implementation'"]`. `--install-option`. E.g., `pipInstallFlags=["--install-option='--cpp_implementation'"]`.
* `pipBuildFlags ? []`: A list of strings. Arguments to be passed to `pip wheel`.
* `pypaBuildFlags ? []`: A list of strings. Arguments to be passed to `python -m build --wheel`.
* `pythonPath ? []`: List of packages to be added into `$PYTHONPATH`. Packages * `pythonPath ? []`: List of packages to be added into `$PYTHONPATH`. Packages
in `pythonPath` are not propagated (contrary to `propagatedBuildInputs`). in `pythonPath` are not propagated (contrary to `propagatedBuildInputs`).
* `preShellHook`: Hook to execute commands before `shellHook`. * `preShellHook`: Hook to execute commands before `shellHook`.
@ -1244,6 +1250,27 @@ with import <nixpkgs> {};
in python.withPackages(ps: [ ps.blaze ])).env in python.withPackages(ps: [ ps.blaze ])).env
``` ```
The next example shows a non trivial overriding of the `blas` implementation to
be used through out all of the Python package set:
```nix
python3MyBlas = pkgs.python3.override {
packageOverrides = self: super: {
# We need toPythonModule for the package set to evaluate this
blas = super.toPythonModule(super.pkgs.blas.override {
blasProvider = super.pkgs.mkl;
});
lapack = super.toPythonModule(super.pkgs.lapack.override {
lapackProvider = super.pkgs.mkl;
});
};
};
```
This is particularly useful for numpy and scipy users who want to gain speed with other blas implementations.
Note that using simply `scipy = super.scipy.override { blas = super.pkgs.mkl; };` will likely result in
compilation issues, because scipy dependencies need to use the same blas implementation as well.
#### Optional extra dependencies {#python-optional-dependencies} #### Optional extra dependencies {#python-optional-dependencies}
Some packages define optional dependencies for additional features. With Some packages define optional dependencies for additional features. With
@ -1463,6 +1490,10 @@ are used in `buildPythonPackage`.
- `flitBuildHook` to build a wheel using `flit`. - `flitBuildHook` to build a wheel using `flit`.
- `pipBuildHook` to build a wheel using `pip` and PEP 517. Note a build system - `pipBuildHook` to build a wheel using `pip` and PEP 517. Note a build system
(e.g. `setuptools` or `flit`) should still be added as `nativeBuildInput`. (e.g. `setuptools` or `flit`) should still be added as `nativeBuildInput`.
- `pypaBuildHook` to build a wheel using
[`pypa/build`](https://pypa-build.readthedocs.io/en/latest/index.html) and
PEP 517/518. Note a build system (e.g. `setuptools` or `flit`) should still
be added as `nativeBuildInput`.
- `pipInstallHook` to install wheels. - `pipInstallHook` to install wheels.
- `pytestCheckHook` to run tests with `pytest`. See [example usage](#using-pytestcheckhook). - `pytestCheckHook` to run tests with `pytest`. See [example usage](#using-pytestcheckhook).
- `pythonCatchConflictsHook` to check whether a Python package is not already existing. - `pythonCatchConflictsHook` to check whether a Python package is not already existing.

View file

@ -22,7 +22,7 @@ Since release 15.09 there is a new TeX Live packaging that lives entirely under
texlive.combine { texlive.combine {
# inherit (texlive) whatever-you-want; # inherit (texlive) whatever-you-want;
pkgFilter = pkg: pkgFilter = pkg:
pkg.tlType == "run" || pkg.tlType == "bin" || pkg.pname == "cm-super"; pkg.tlType == "run" || pkg.tlType == "bin" || pkg.hasManpages || pkg.pname == "cm-super";
# elem tlType [ "run" "bin" "doc" "source" ] # elem tlType [ "run" "bin" "doc" "source" ]
# there are also other attributes: version, name # there are also other attributes: version, name
} }

View file

@ -436,10 +436,7 @@ rec {
# Deprecated; should not be used because it quietly concatenates # Deprecated; should not be used because it quietly concatenates
# strings, which is usually not what you want. # strings, which is usually not what you want.
string = separatedString "" // { string = throw "The type `types.string` is deprecated. See https://github.com/NixOS/nixpkgs/pull/66346 for better alternative types.";
name = "string";
deprecationMessage = "See https://github.com/NixOS/nixpkgs/pull/66346 for better alternative types.";
};
passwdEntry = entryType: addCheck entryType (str: !(hasInfix ":" str || hasInfix "\n" str)) // { passwdEntry = entryType: addCheck entryType (str: !(hasInfix ":" str || hasInfix "\n" str)) // {
name = "passwdEntry ${entryType.name}"; name = "passwdEntry ${entryType.name}";

View file

@ -3265,6 +3265,12 @@
fingerprint = "6E3A FA6D 915C C2A4 D26F C53E 7BB4 BA9C 783D 2BBC"; fingerprint = "6E3A FA6D 915C C2A4 D26F C53E 7BB4 BA9C 783D 2BBC";
}]; }];
}; };
codec = {
email = "codec@fnord.cx";
github = "codec";
githubId = 118829;
name = "codec";
};
CodeLongAndProsper90 = { CodeLongAndProsper90 = {
github = "CodeLongAndProsper90"; github = "CodeLongAndProsper90";
githubId = 50145141; githubId = 50145141;
@ -3946,6 +3952,12 @@
fingerprint = "4E35 F2E5 2132 D654 E815 A672 DB2C BC24 2868 6000"; fingerprint = "4E35 F2E5 2132 D654 E815 A672 DB2C BC24 2868 6000";
}]; }];
}; };
declan = {
name = "Declan Rixon";
email = "declan.fraser.rixon@gmail.com";
github = "DeclanRixon";
githubId = 57464835;
};
deejayem = { deejayem = {
email = "nixpkgs.bu5hq@simplelogin.com"; email = "nixpkgs.bu5hq@simplelogin.com";
github = "deejayem"; github = "deejayem";
@ -5860,6 +5872,11 @@
githubId = 17859309; githubId = 17859309;
name = "Fuzen"; name = "Fuzen";
}; };
fuzzdk = {
github = "fuzzdk";
githubId = 12715461;
name = "Anders Bo Rasmussen";
};
fwc = { fwc = {
github = "fwc"; github = "fwc";
githubId = 29337229; githubId = 29337229;
@ -11652,6 +11669,12 @@
githubId = 220262; githubId = 220262;
name = "Ion Mudreac"; name = "Ion Mudreac";
}; };
multisn8 = {
email = "all-things-nix@multisamplednight.com";
github = "MultisampledNight";
githubId = 80128916;
name = "MultisampledNight";
};
multun = { multun = {
email = "victor.collod@epita.fr"; email = "victor.collod@epita.fr";
github = "multun"; github = "multun";
@ -11715,6 +11738,12 @@
githubId = 38578268; githubId = 38578268;
name = "Morgan Wolfe"; name = "Morgan Wolfe";
}; };
mxkrsv = {
email = "mxkrsv@disroot.org";
github = "mxkrsv";
githubId = 59313755;
name = "Maxim Karasev";
};
myaats = { myaats = {
email = "mats@mats.sh"; email = "mats@mats.sh";
github = "Myaats"; github = "Myaats";
@ -12399,6 +12428,12 @@
githubId = 15707703; githubId = 15707703;
name = "Helmi Nour"; name = "Helmi Nour";
}; };
nrhtr = {
email = "jeremy@jenga.xyz";
github = "nrhtr";
githubId = 74261;
name = "Jeremy Parker";
};
nshalman = { nshalman = {
email = "nahamu@gmail.com"; email = "nahamu@gmail.com";
github = "nshalman"; github = "nshalman";
@ -12718,6 +12753,11 @@
githubId = 357005; githubId = 357005;
name = "Marco Orovecchia"; name = "Marco Orovecchia";
}; };
orthros = {
github = "orthros";
githubId = 7820716;
name = "orthros";
};
osener = { osener = {
email = "ozan@ozansener.com"; email = "ozan@ozansener.com";
github = "osener"; github = "osener";
@ -13294,7 +13334,7 @@
}; };
piturnah = { piturnah = {
email = "peterhebden6@gmail.com"; email = "peterhebden6@gmail.com";
github = "piturnah"; github = "Piturnah";
githubId = 20472367; githubId = 20472367;
name = "Peter Hebden"; name = "Peter Hebden";
}; };
@ -13476,6 +13516,12 @@
githubId = 38314551; githubId = 38314551;
name = "Peter Okelmann"; name = "Peter Okelmann";
}; };
pokon548 = {
email = "nix@bukn.uk";
github = "pokon548";
githubId = 65808665;
name = "Bu Kun";
};
polarmutex = { polarmutex = {
email = "brian@brianryall.xyz"; email = "brian@brianryall.xyz";
github = "polarmutex"; github = "polarmutex";
@ -18714,6 +18760,12 @@
github = "zeri42"; github = "zeri42";
githubId = 68825133; githubId = 68825133;
}; };
zestsystem = {
email = "mk337337@gmail.com";
github = "zestsystem";
githubId = 39456023;
name = "Mike Yim";
};
zfnmxt = { zfnmxt = {
name = "zfnmxt"; name = "zfnmxt";
email = "zfnmxt@zfnmxt.com"; email = "zfnmxt@zfnmxt.com";

View file

@ -425,7 +425,6 @@ with lib.maintainers; {
offline offline
saschagrunert saschagrunert
srhb srhb
zowoq
]; ];
scope = "Maintain the Kubernetes package and module"; scope = "Maintain the Kubernetes package and module";
shortName = "Kubernetes"; shortName = "Kubernetes";
@ -712,7 +711,6 @@ with lib.maintainers; {
adisbladis adisbladis
saschagrunert saschagrunert
vdemeester vdemeester
zowoq
]; ];
githubTeams = [ githubTeams = [
"podman" "podman"

View file

@ -18,6 +18,8 @@
- [wayfire](https://wayfire.org), A modular and extensible wayland compositor. Available as [programs.wayfire](#opt-programs.wayfire.enable). - [wayfire](https://wayfire.org), A modular and extensible wayland compositor. Available as [programs.wayfire](#opt-programs.wayfire.enable).
- [mautrix-whatsapp](https://docs.mau.fi/bridges/go/whatsapp/index.html) A Matrix-WhatsApp puppeting bridge
- [GoToSocial](https://gotosocial.org/), an ActivityPub social network server, written in Golang. Available as [services.gotosocial](#opt-services.gotosocial.enable). - [GoToSocial](https://gotosocial.org/), an ActivityPub social network server, written in Golang. Available as [services.gotosocial](#opt-services.gotosocial.enable).
- [Typesense](https://github.com/typesense/typesense), a fast, typo-tolerant search engine for building delightful search experiences. Available as [services.typesense](#opt-services.typesense.enable). - [Typesense](https://github.com/typesense/typesense), a fast, typo-tolerant search engine for building delightful search experiences. Available as [services.typesense](#opt-services.typesense.enable).
@ -40,6 +42,8 @@
- [systemd-sysupdate](https://www.freedesktop.org/software/systemd/man/systemd-sysupdate.html), atomically updates the host OS, container images, portable service images or other sources. Available as [systemd.sysupdate](opt-systemd.sysupdate). - [systemd-sysupdate](https://www.freedesktop.org/software/systemd/man/systemd-sysupdate.html), atomically updates the host OS, container images, portable service images or other sources. Available as [systemd.sysupdate](opt-systemd.sysupdate).
- [eris-server](https://codeberg.org/eris/eris-go). [ERIS](https://eris.codeberg.page/) is an encoding for immutable storage and this server provides block exchange as well as content decoding over HTTP and through a FUSE file-system. Available as [services.eris-server](#opt-services.eris-server.enable).
## Backward Incompatibilities {#sec-release-23.11-incompatibilities} ## Backward Incompatibilities {#sec-release-23.11-incompatibilities}
- The `boot.loader.raspberryPi` options have been marked deprecated, with intent for removal for NixOS 24.11. They had a limited use-case, and do not work like people expect. They required either very old installs ([before mid-2019](https://github.com/NixOS/nixpkgs/pull/62462)) or customized builds out of scope of the standard and generic AArch64 support. That option set never supported the Raspberry Pi 4 family of devices. - The `boot.loader.raspberryPi` options have been marked deprecated, with intent for removal for NixOS 24.11. They had a limited use-case, and do not work like people expect. They required either very old installs ([before mid-2019](https://github.com/NixOS/nixpkgs/pull/62462)) or customized builds out of scope of the standard and generic AArch64 support. That option set never supported the Raspberry Pi 4 family of devices.
@ -72,6 +76,22 @@
- The [services.caddy.acmeCA](#opt-services.caddy.acmeCA) option now defaults to `null` instead of `"https://acme-v02.api.letsencrypt.org/directory"`, to use all of Caddy's default ACME CAs and enable Caddy's automatic issuer fallback feature by default, as recommended by upstream. - The [services.caddy.acmeCA](#opt-services.caddy.acmeCA) option now defaults to `null` instead of `"https://acme-v02.api.letsencrypt.org/directory"`, to use all of Caddy's default ACME CAs and enable Caddy's automatic issuer fallback feature by default, as recommended by upstream.
- The default priorities of [`services.nextcloud.phpOptions`](#opt-services.nextcloud.phpOptions) have changed. This means that e.g.
`services.nextcloud.phpOptions."opcache.interned_strings_buffer" = "23";` doesn't discard all of the other defaults from this option
anymore. The attribute values of `phpOptions` are still defaults, these can be overridden as shown here.
To override all of the options (including including `upload_max_filesize`, `post_max_size`
and `memory_limit` which all point to [`services.nextcloud.maxUploadSize`](#opt-services.nextcloud.maxUploadSize)
by default) can be done like this:
```nix
{
services.nextcloud.phpOptions = lib.mkForce {
/* ... */
};
}
```
- `php80` is no longer supported due to upstream not supporting this version anymore. - `php80` is no longer supported due to upstream not supporting this version anymore.
- PHP now defaults to PHP 8.2, updated from 8.1. - PHP now defaults to PHP 8.2, updated from 8.1.

View file

@ -97,7 +97,6 @@ in
}; };
config = mkIf (cfg.provider != "libc") { config = mkIf (cfg.provider != "libc") {
boot.kernel.sysctl."vm.max_map_count" = mkIf (cfg.provider == "graphene-hardened") (mkDefault 1048576); # TODO: Default vm.max_map_count has been increased system-wide
environment.etc."ld-nix.so.preload".text = '' environment.etc."ld-nix.so.preload".text = ''
${providerLibPath} ${providerLibPath}
''; '';

View file

@ -26,12 +26,7 @@ with lib;
fonts.fontconfig.enable = false; fonts.fontconfig.enable = false;
nixpkgs.overlays = singleton (self: super: let nixpkgs.overlays = singleton (const (super: {
packageOverrides = const (python-prev: {
# tk feature requires wayland which fails to compile
matplotlib = python-prev.matplotlib.override { enableGtk3 = false; enableTk = false; enableQt = false; };
});
in {
beam = super.beam_nox; beam = super.beam_nox;
cairo = super.cairo.override { x11Support = false; }; cairo = super.cairo.override { x11Support = false; };
dbus = super.dbus.override { x11Support = false; }; dbus = super.dbus.override { x11Support = false; };
@ -67,8 +62,12 @@ with lib;
pango = super.pango.override { x11Support = false; }; pango = super.pango.override { x11Support = false; };
pinentry = super.pinentry.override { enabledFlavors = [ "curses" "tty" "emacs" ]; withLibsecret = false; }; pinentry = super.pinentry.override { enabledFlavors = [ "curses" "tty" "emacs" ]; withLibsecret = false; };
pipewire = super.pipewire.override { x11Support = false; }; pipewire = super.pipewire.override { x11Support = false; };
python3 = super.python3.override { inherit packageOverrides; }; pythonPackagesExtensions = super.pythonPackagesExtensions ++ [
python3Packages = self.python3.pkgs; # required otherwise overlays from above are not forwarded (python-final: python-prev: {
# tk feature requires wayland which fails to compile
matplotlib = python-prev.matplotlib.override { enableTk = false; };
})
];
qemu = super.qemu.override { gtkSupport = false; spiceSupport = false; sdlSupport = false; }; qemu = super.qemu.override { gtkSupport = false; spiceSupport = false; sdlSupport = false; };
qrencode = super.qrencode.overrideAttrs (_: { doCheck = false; }); qrencode = super.qrencode.overrideAttrs (_: { doCheck = false; });
qt5 = super.qt5.overrideScope (const (super': { qt5 = super.qt5.overrideScope (const (super': {
@ -79,6 +78,6 @@ with lib;
util-linux = super.util-linux.override { translateManpages = false; }; util-linux = super.util-linux.override { translateManpages = false; };
vim-full = super.vim-full.override { guiSupport = false; }; vim-full = super.vim-full.override { guiSupport = false; };
zbar = super.zbar.override { enableVideo = false; withXorg = false; }; zbar = super.zbar.override { enableVideo = false; withXorg = false; };
}); }));
}; };
} }

View file

@ -19,7 +19,7 @@ in
''; '';
}; };
quickPhrase = mkOption { quickPhrase = mkOption {
type = with types; attrsOf string; type = with types; attrsOf str;
default = { }; default = { };
example = literalExpression '' example = literalExpression ''
{ {

View file

@ -600,6 +600,7 @@
./services/matrix/dendrite.nix ./services/matrix/dendrite.nix
./services/matrix/mautrix-facebook.nix ./services/matrix/mautrix-facebook.nix
./services/matrix/mautrix-telegram.nix ./services/matrix/mautrix-telegram.nix
./services/matrix/mautrix-whatsapp.nix
./services/matrix/mjolnir.nix ./services/matrix/mjolnir.nix
./services/matrix/mx-puppet-discord.nix ./services/matrix/mx-puppet-discord.nix
./services/matrix/pantalaimon.nix ./services/matrix/pantalaimon.nix
@ -806,6 +807,7 @@
./services/network-filesystems/davfs2.nix ./services/network-filesystems/davfs2.nix
./services/network-filesystems/diod.nix ./services/network-filesystems/diod.nix
./services/network-filesystems/drbd.nix ./services/network-filesystems/drbd.nix
./services/network-filesystems/eris-server.nix
./services/network-filesystems/glusterfs.nix ./services/network-filesystems/glusterfs.nix
./services/network-filesystems/kbfs.nix ./services/network-filesystems/kbfs.nix
./services/network-filesystems/kubo.nix ./services/network-filesystems/kubo.nix
@ -863,6 +865,7 @@
./services/networking/coturn.nix ./services/networking/coturn.nix
./services/networking/create_ap.nix ./services/networking/create_ap.nix
./services/networking/croc.nix ./services/networking/croc.nix
./services/networking/dae.nix
./services/networking/dante.nix ./services/networking/dante.nix
./services/networking/dhcpcd.nix ./services/networking/dhcpcd.nix
./services/networking/dnscache.nix ./services/networking/dnscache.nix

View file

@ -120,5 +120,8 @@ with lib;
[PStore] [PStore]
Unlink=no Unlink=no
''; '';
# allow nix-copy to live system
nix.settings.trusted-users = [ "root" "nixos" ];
}; };
} }

View file

@ -53,7 +53,7 @@ in
}; };
preferences = mkOption { preferences = mkOption {
type = with types; attrsOf (oneOf [ bool int string ]); type = with types; attrsOf (oneOf [ bool int str ]);
default = { }; default = { };
description = mdDoc '' description = mdDoc ''
Preferences to set from `about:config`. Preferences to set from `about:config`.

View file

@ -42,7 +42,7 @@ in
}; };
args = mkOption { args = mkOption {
type = types.listOf types.string; type = types.listOf types.str;
default = [ ]; default = [ ];
example = [ "--rt" "--prefer-vk-device 8086:9bc4" ]; example = [ "--rt" "--prefer-vk-device 8086:9bc4" ];
description = mdDoc '' description = mdDoc ''
@ -51,7 +51,7 @@ in
}; };
env = mkOption { env = mkOption {
type = types.attrsOf types.string; type = types.attrsOf types.str;
default = { }; default = { };
example = literalExpression '' example = literalExpression ''
# for Prime render offload on Nvidia laptops. # for Prime render offload on Nvidia laptops.

View file

@ -89,7 +89,7 @@ in {
options = { options = {
enable = mkEnableOption (mdDoc "GameScope Session"); enable = mkEnableOption (mdDoc "GameScope Session");
args = mkOption { args = mkOption {
type = types.listOf types.string; type = types.listOf types.str;
default = [ ]; default = [ ];
description = mdDoc '' description = mdDoc ''
Arguments to be passed to GameScope for the session. Arguments to be passed to GameScope for the session.
@ -97,7 +97,7 @@ in {
}; };
env = mkOption { env = mkOption {
type = types.attrsOf types.string; type = types.attrsOf types.str;
default = { }; default = { };
description = mdDoc '' description = mdDoc ''
Environmental variables to be passed to GameScope for the session. Environmental variables to be passed to GameScope for the session.

View file

@ -86,7 +86,7 @@ in {
}; };
ifpAllowedUids = mkOption { ifpAllowedUids = mkOption {
type = types.listOf types.string; type = types.listOf types.str;
default = ["root"]; default = ["root"];
description = lib.mdDoc "A list of users allowed to access the ifp dbus interface."; description = lib.mdDoc "A list of users allowed to access the ifp dbus interface.";
}; };

View file

@ -934,7 +934,7 @@ in
}; };
authserver = mkOption { authserver = mkOption {
default = null; default = null;
type = with types; nullOr string; type = with types; nullOr str;
description = lib.mdDoc '' description = lib.mdDoc ''
This controls the hostname for the 9front authentication server This controls the hostname for the 9front authentication server
that users will be authenticated against. that users will be authenticated against.

View file

@ -71,7 +71,7 @@ in
]; ];
default = "cpu"; default = "cpu";
description = mdDoc '' description = mdDoc ''
Id of a speaker in a multi-speaker model. Determines the platform faster-whisper is run on. CPU works everywhere, CUDA requires a compatible NVIDIA GPU.
''; '';
}; };

View file

@ -105,7 +105,7 @@ in
}; };
otherNodesIps = mkOption { otherNodesIps = mkOption {
type = types.listOf types.string; type = types.listOf types.str;
example = [ "192.168.1.2" "192.168.1.3" ]; example = [ "192.168.1.2" "192.168.1.3" ];
description = mdDoc '' description = mdDoc ''
IP addresses of the other nodes. IP addresses of the other nodes.

View file

@ -2,7 +2,6 @@
let let
cfg = config.services.joycond; cfg = config.services.joycond;
kernelPackages = config.boot.kernelPackages;
in in
with lib; with lib;
@ -24,8 +23,6 @@ with lib;
config = mkIf cfg.enable { config = mkIf cfg.enable {
environment.systemPackages = [ cfg.package ]; environment.systemPackages = [ cfg.package ];
boot.extraModulePackages = optional (versionOlder kernelPackages.kernel.version "5.16") kernelPackages.hid-nintendo;
services.udev.packages = [ cfg.package ]; services.udev.packages = [ cfg.package ];
systemd.packages = [ cfg.package ]; systemd.packages = [ cfg.package ];

View file

@ -7,7 +7,7 @@ let
keyboardOptions = { ... }: { keyboardOptions = { ... }: {
options = { options = {
ids = mkOption { ids = mkOption {
type = types.listOf types.string; type = types.listOf types.str;
default = [ "*" ]; default = [ "*" ];
example = [ "*" "-0123:0456" ]; example = [ "*" "-0123:0456" ];
description = lib.mdDoc '' description = lib.mdDoc ''

View file

@ -142,7 +142,7 @@ in {
user = mkOption { user = mkOption {
default = "maddy"; default = "maddy";
type = with types; uniq string; type = with types; uniq str;
description = lib.mdDoc '' description = lib.mdDoc ''
User account under which maddy runs. User account under which maddy runs.
@ -156,7 +156,7 @@ in {
group = mkOption { group = mkOption {
default = "maddy"; default = "maddy";
type = with types; uniq string; type = with types; uniq str;
description = lib.mdDoc '' description = lib.mdDoc ''
Group account under which maddy runs. Group account under which maddy runs.
@ -170,7 +170,7 @@ in {
hostname = mkOption { hostname = mkOption {
default = "localhost"; default = "localhost";
type = with types; uniq string; type = with types; uniq str;
example = ''example.com''; example = ''example.com'';
description = lib.mdDoc '' description = lib.mdDoc ''
Hostname to use. It should be FQDN. Hostname to use. It should be FQDN.
@ -179,7 +179,7 @@ in {
primaryDomain = mkOption { primaryDomain = mkOption {
default = "localhost"; default = "localhost";
type = with types; uniq string; type = with types; uniq str;
example = ''mail.example.com''; example = ''mail.example.com'';
description = lib.mdDoc '' description = lib.mdDoc ''
Primary MX domain to use. It should be FQDN. Primary MX domain to use. It should be FQDN.

View file

@ -0,0 +1,198 @@
{
lib,
config,
pkgs,
...
}: let
cfg = config.services.mautrix-whatsapp;
dataDir = "/var/lib/mautrix-whatsapp";
registrationFile = "${dataDir}/whatsapp-registration.yaml";
settingsFile = "${dataDir}/config.json";
settingsFileUnsubstituted = settingsFormat.generate "mautrix-whatsapp-config-unsubstituted.json" cfg.settings;
settingsFormat = pkgs.formats.json {};
appservicePort = 29318;
in {
imports = [];
options.services.mautrix-whatsapp = {
enable = lib.mkEnableOption "mautrix-whatsapp, a puppeting/relaybot bridge between Matrix and WhatsApp.";
settings = lib.mkOption {
type = settingsFormat.type;
default = {
appservice = {
address = "http://localhost:${toString appservicePort}";
hostname = "[::]";
port = appservicePort;
database = {
type = "sqlite3";
uri = "${dataDir}/mautrix-whatsapp.db";
};
id = "whatsapp";
bot = {
username = "whatsappbot";
displayname = "WhatsApp Bridge Bot";
};
as_token = "";
hs_token = "";
};
bridge = {
username_template = "whatsapp_{{.}}";
displayname_template = "{{if .BusinessName}}{{.BusinessName}}{{else if .PushName}}{{.PushName}}{{else}}{{.JID}}{{end}} (WA)";
double_puppet_server_map = {};
login_shared_secret_map = {};
command_prefix = "!wa";
permissions."*" = "relay";
relay.enabled = true;
};
logging = {
min_level = "info";
writers = [
{
type = "stdout";
format = "pretty-colored";
}
{
type = "file";
format = "json";
}
];
};
};
description = lib.mdDoc ''
{file}`config.yaml` configuration as a Nix attribute set.
Configuration options should match those described in
[example-config.yaml](https://github.com/mautrix/whatsapp/blob/master/example-config.yaml).
Secret tokens should be specified using {option}`environmentFile`
instead of this world-readable attribute set.
'';
example = {
appservice = {
database = {
type = "postgres";
uri = "postgresql:///mautrix_whatsapp?host=/run/postgresql";
};
id = "whatsapp";
ephemeral_events = false;
};
bridge = {
history_sync = {
request_full_sync = true;
};
private_chat_portal_meta = true;
mute_bridging = true;
encryption = {
allow = true;
default = true;
require = true;
};
provisioning = {
shared_secret = "disable";
};
permissions = {
"example.com" = "user";
};
};
};
};
environmentFile = lib.mkOption {
type = lib.types.nullOr lib.types.path;
default = null;
description = lib.mdDoc ''
File containing environment variables to be passed to the mautrix-whatsapp service,
in which secret tokens can be specified securely by optionally defining a value for
`MAUTRIX_WHATSAPP_BRIDGE_LOGIN_SHARED_SECRET`.
'';
};
serviceDependencies = lib.mkOption {
type = with lib.types; listOf str;
default = lib.optional config.services.matrix-synapse.enable "matrix-synapse.service";
defaultText = lib.literalExpression ''
optional config.services.matrix-synapse.enable "matrix-synapse.service"
'';
description = lib.mdDoc ''
List of Systemd services to require and wait for when starting the application service.
'';
};
};
config = lib.mkIf cfg.enable {
services.mautrix-whatsapp.settings = {
homeserver.domain = lib.mkDefault config.services.matrix-synapse.settings.server_name;
};
systemd.services.mautrix-whatsapp = {
description = "Mautrix-WhatsApp Service - A WhatsApp bridge for Matrix";
wantedBy = ["multi-user.target"];
wants = ["network-online.target"] ++ cfg.serviceDependencies;
after = ["network-online.target"] ++ cfg.serviceDependencies;
preStart = ''
# substitute the settings file by environment variables
# in this case read from EnvironmentFile
test -f '${settingsFile}' && rm -f '${settingsFile}'
old_umask=$(umask)
umask 0177
${pkgs.envsubst}/bin/envsubst \
-o '${settingsFile}' \
-i '${settingsFileUnsubstituted}'
umask $old_umask
# generate the appservice's registration file if absent
if [ ! -f '${registrationFile}' ]; then
${pkgs.mautrix-whatsapp}/bin/mautrix-whatsapp \
--generate-registration \
--config='${settingsFile}' \
--registration='${registrationFile}'
fi
chmod 640 ${registrationFile}
umask 0177
${pkgs.yq}/bin/yq -s '.[0].appservice.as_token = .[1].as_token
| .[0].appservice.hs_token = .[1].hs_token
| .[0]' '${settingsFile}' '${registrationFile}' \
> '${settingsFile}.tmp'
mv '${settingsFile}.tmp' '${settingsFile}'
umask $old_umask
'';
serviceConfig = {
DynamicUser = true;
EnvironmentFile = cfg.environmentFile;
StateDirectory = baseNameOf dataDir;
WorkingDirectory = "${dataDir}";
ExecStart = ''
${pkgs.mautrix-whatsapp}/bin/mautrix-whatsapp \
--config='${settingsFile}' \
--registration='${registrationFile}'
'';
LockPersonality = true;
MemoryDenyWriteExecute = true;
NoNewPrivileges = true;
PrivateDevices = true;
PrivateTmp = true;
PrivateUsers = true;
ProtectClock = true;
ProtectControlGroups = true;
ProtectHome = true;
ProtectHostname = true;
ProtectKernelLogs = true;
ProtectKernelModules = true;
ProtectKernelTunables = true;
ProtectSystem = "strict";
Restart = "on-failure";
RestartSec = "30s";
RestrictRealtime = true;
RestrictSUIDSGID = true;
SystemCallArchitectures = "native";
SystemCallErrorNumber = "EPERM";
SystemCallFilter = ["@system-service"];
Type = "simple";
UMask = 0027;
};
restartTriggers = [settingsFileUnsubstituted];
};
};
meta.maintainers = with lib.maintainers; [frederictobiasc];
}

View file

@ -666,6 +666,7 @@ in
USER = cfg.user; USER = cfg.user;
HOME = cfg.stateDir; HOME = cfg.stateDir;
GITEA_WORK_DIR = cfg.stateDir; GITEA_WORK_DIR = cfg.stateDir;
GITEA_CUSTOM = cfg.customDir;
}; };
serviceConfig = { serviceConfig = {

View file

@ -7,6 +7,7 @@ let
defaultUser = "paperless"; defaultUser = "paperless";
nltkDir = "/var/cache/paperless/nltk"; nltkDir = "/var/cache/paperless/nltk";
defaultFont = "${pkgs.liberation_ttf}/share/fonts/truetype/LiberationSerif-Regular.ttf";
# Don't start a redis instance if the user sets a custom redis connection # Don't start a redis instance if the user sets a custom redis connection
enableRedis = !hasAttr "PAPERLESS_REDIS" cfg.extraConfig; enableRedis = !hasAttr "PAPERLESS_REDIS" cfg.extraConfig;
@ -17,6 +18,7 @@ let
PAPERLESS_MEDIA_ROOT = cfg.mediaDir; PAPERLESS_MEDIA_ROOT = cfg.mediaDir;
PAPERLESS_CONSUMPTION_DIR = cfg.consumptionDir; PAPERLESS_CONSUMPTION_DIR = cfg.consumptionDir;
PAPERLESS_NLTK_DIR = nltkDir; PAPERLESS_NLTK_DIR = nltkDir;
PAPERLESS_THUMBNAIL_FONT_NAME = defaultFont;
GUNICORN_CMD_ARGS = "--bind=${cfg.address}:${toString cfg.port}"; GUNICORN_CMD_ARGS = "--bind=${cfg.address}:${toString cfg.port}";
} // optionalAttrs (config.time.timeZone != null) { } // optionalAttrs (config.time.timeZone != null) {
PAPERLESS_TIME_ZONE = config.time.timeZone; PAPERLESS_TIME_ZONE = config.time.timeZone;

View file

@ -214,6 +214,7 @@ in {
++ lib.optional config.virtualisation.libvirtd.enable (config.virtualisation.libvirtd.package); ++ lib.optional config.virtualisation.libvirtd.enable (config.virtualisation.libvirtd.package);
environment = { environment = {
PYTHONPATH = "${cfg.package}/libexec/netdata/python.d/python_modules"; PYTHONPATH = "${cfg.package}/libexec/netdata/python.d/python_modules";
NETDATA_PIPENAME = "/run/netdata/ipc";
} // lib.optionalAttrs (!cfg.enableAnalyticsReporting) { } // lib.optionalAttrs (!cfg.enableAnalyticsReporting) {
DO_NOT_TRACK = "1"; DO_NOT_TRACK = "1";
}; };

View file

@ -36,6 +36,7 @@ let
"fastly" "fastly"
"fritzbox" "fritzbox"
"graphite" "graphite"
"idrac"
"influxdb" "influxdb"
"ipmi" "ipmi"
"json" "json"
@ -318,6 +319,14 @@ in
message = '' message = ''
Scaphandre needs 'intel_rapl_common' kernel module to be enabled. Please add it in 'boot.kernelModules'. Scaphandre needs 'intel_rapl_common' kernel module to be enabled. Please add it in 'boot.kernelModules'.
''; '';
} {
assertion = cfg.idrac.enable -> (
(cfg.idrac.configurationPath == null) != (cfg.idrac.configuration == null)
);
message = ''
Please ensure you have either `services.prometheus.exporters.idrac.configuration'
or `services.prometheus.exporters.idrac.configurationPath' set!
'';
} ] ++ (flip map (attrNames exporterOpts) (exporter: { } ] ++ (flip map (attrNames exporterOpts) (exporter: {
assertion = cfg.${exporter}.firewallFilter != null -> cfg.${exporter}.openFirewall; assertion = cfg.${exporter}.firewallFilter != null -> cfg.${exporter}.openFirewall;
message = '' message = ''
@ -325,7 +334,12 @@ in
`openFirewall' is set to `true'! `openFirewall' is set to `true'!
''; '';
})) ++ config.services.prometheus.exporters.assertions; })) ++ config.services.prometheus.exporters.assertions;
warnings = config.services.prometheus.exporters.warnings; warnings = [(mkIf (config.services.prometheus.exporters.idrac.enable && config.services.prometheus.exporters.idrac.configurationPath != null) ''
Configuration file in `services.prometheus.exporters.idrac.configurationPath` may override
`services.prometheus.exporters.idrac.listenAddress` and/or `services.prometheus.exporters.idrac.port`.
Consider using `services.prometheus.exporters.idrac.configuration` instead.
''
)] ++ config.services.prometheus.exporters.warnings;
}] ++ [(mkIf config.services.minio.enable { }] ++ [(mkIf config.services.minio.enable {
services.prometheus.exporters.minio.minioAddress = mkDefault "http://localhost:9000"; services.prometheus.exporters.minio.minioAddress = mkDefault "http://localhost:9000";
services.prometheus.exporters.minio.minioAccessKey = mkDefault config.services.minio.accessKey; services.prometheus.exporters.minio.minioAccessKey = mkDefault config.services.minio.accessKey;

View file

@ -0,0 +1,69 @@
{ config, lib, pkgs, options }:
with lib;
let
cfg = config.services.prometheus.exporters.idrac;
configFile = if cfg.configurationPath != null
then cfg.configurationPath
else pkgs.writeText "idrac.yml" (builtins.toJSON cfg.configuration);
in
{
port = 9348;
extraOpts = {
configurationPath = mkOption {
type = with types; nullOr path;
default = null;
example = "/etc/prometheus-idrac-exporter/idrac.yml";
description = lib.mdDoc ''
Path to the service's config file. This path can either be a computed path in /nix/store or a path in the local filesystem.
The config file should NOT be stored in /nix/store as it will contain passwords and/or keys in plain text.
Mutually exclusive with `configuration` option.
Configuration reference: https://github.com/mrlhansen/idrac_exporter/#configuration
'';
};
configuration = mkOption {
type = types.nullOr types.attrs;
description = lib.mdDoc ''
Configuration for iDRAC exporter, as a nix attribute set.
Configuration reference: https://github.com/mrlhansen/idrac_exporter/#configuration
Mutually exclusive with `configurationPath` option.
'';
default = null;
example = {
timeout = 10;
retries = 1;
hosts = {
default = {
username = "username";
password = "password";
};
};
metrics = {
system = true;
sensors = true;
power = true;
sel = true;
storage = true;
memory = true;
};
};
};
};
serviceOpts = {
serviceConfig = {
LoadCredential = "configFile:${configFile}";
ExecStart = "${pkgs.prometheus-idrac-exporter}/bin/idrac_exporter -config %d/configFile";
Environment = [
"IDRAC_EXPORTER_LISTEN_ADDRESS=${cfg.listenAddress}"
"IDRAC_EXPORTER_LISTEN_PORT=${toString cfg.port}"
];
};
};
}

View file

@ -0,0 +1,103 @@
{ config, lib, pkgs, ... }:
let
cfg = config.services.eris-server;
stateDirectoryPath = "\${STATE_DIRECTORY}";
in {
options.services.eris-server = {
enable = lib.mkEnableOption "an ERIS server";
package = lib.mkOption {
type = lib.types.package;
default = pkgs.eris-go;
defaultText = lib.literalExpression "pkgs.eris-go";
description = "Package to use for the ERIS server.";
};
decode = lib.mkOption {
type = lib.types.bool;
default = false;
description = ''
Whether the HTTP service (when enabled) will decode ERIS content at /uri-res/N2R?urn:eris:.
Enabling this is recommended only for private or local-only servers.
'';
};
listenCoap = lib.mkOption {
type = lib.types.str;
default = ":5683";
example = "[::1]:5683";
description = ''
Server CoAP listen address. Listen on all IP addresses at port 5683 by default.
Please note that the server can service client requests for ERIS-blocks by
querying other clients connected to the server. Whether or not blocks are
relayed back to the server depends on client configuration but be aware this
may leak sensitive metadata and trigger network activity.
'';
};
listenHttp = lib.mkOption {
type = lib.types.str;
default = "";
example = "[::1]:8080";
description = "Server HTTP listen address. Do not listen by default.";
};
backends = lib.mkOption {
type = with lib.types; listOf str;
description = ''
List of backend URLs.
Add "get" and "put" as query elements to enable those operations.
'';
example = [
"bolt+file:///srv/eris.bolt?get&put"
"coap+tcp://eris.example.com:5683?get"
];
};
mountpoint = lib.mkOption {
type = lib.types.str;
default = "";
example = "/eris";
description = ''
Mountpoint for FUSE namespace that exposes "urn:eris:" files.
'';
};
};
config = lib.mkIf cfg.enable {
systemd.services.eris-server = let
cmd =
"${cfg.package}/bin/eris-go server --coap '${cfg.listenCoap}' --http '${cfg.listenHttp}' ${
lib.optionalString cfg.decode "--decode "
}${
lib.optionalString (cfg.mountpoint != "")
''--mountpoint "${cfg.mountpoint}" ''
}${lib.strings.escapeShellArgs cfg.backends}";
in {
description = "ERIS block server";
after = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
script = lib.mkIf (cfg.mountpoint != "") ''
export PATH=${config.security.wrapperDir}:$PATH
${cmd}
'';
serviceConfig = let
umounter = lib.mkIf (cfg.mountpoint != "")
"-${config.security.wrapperDir}/fusermount -uz ${cfg.mountpoint}";
in {
ExecStartPre = umounter;
ExecStart = lib.mkIf (cfg.mountpoint == "") cmd;
ExecStopPost = umounter;
Restart = "always";
RestartSec = 20;
AmbientCapabilities = "CAP_NET_BIND_SERVICE";
};
};
};
meta.maintainers = with lib.maintainers; [ ehmry ];
}

View file

@ -278,6 +278,12 @@ in
You can't set services.kubo.settings.Pinning.RemoteServices because the ``config replace`` subcommand used at startup does not work with it. You can't set services.kubo.settings.Pinning.RemoteServices because the ``config replace`` subcommand used at startup does not work with it.
''; '';
} }
{
assertion = !((lib.versionAtLeast cfg.package.version "0.21") && (builtins.hasAttr "Experimental" cfg.settings) && (builtins.hasAttr "AcceleratedDHTClient" cfg.settings.Experimental));
message = ''
The `services.kubo.settings.Experimental.AcceleratedDHTClient` option was renamed to `services.kubo.settings.Routing.AcceleratedDHTClient` in Kubo 0.21.
'';
}
]; ];
environment.systemPackages = [ cfg.package ]; environment.systemPackages = [ cfg.package ];

View file

@ -0,0 +1,41 @@
{ config, pkgs, lib, ... }:
let
cfg = config.services.dae;
in
{
meta.maintainers = with lib.maintainers; [ pokon548 ];
options = {
services.dae = {
enable = lib.options.mkEnableOption (lib.mdDoc "the dae service");
package = lib.mkPackageOptionMD pkgs "dae" { };
};
};
config = lib.mkIf config.services.dae.enable {
networking.firewall.allowedTCPPorts = [ 12345 ];
networking.firewall.allowedUDPPorts = [ 12345 ];
systemd.services.dae = {
unitConfig = {
Description = "dae Service";
Documentation = "https://github.com/daeuniverse/dae";
After = [ "network.target" "systemd-sysctl.service" ];
Wants = [ "network.target" ];
};
serviceConfig = {
User = "root";
ExecStartPre = "${lib.getExe cfg.package} validate -c /etc/dae/config.dae";
ExecStart = "${lib.getExe cfg.package} run --disable-timestamp -c /etc/dae/config.dae";
ExecReload = "${lib.getExe cfg.package} reload $MAINPID";
LimitNPROC = 512;
LimitNOFILE = 1048576;
Restart = "on-abnormal";
Type = "notify";
};
wantedBy = [ "multi-user.target" ];
};
};
}

View file

@ -71,9 +71,9 @@ let
if ! keyValid; then if ! keyValid; then
echo "certificate soon to become invalid; backing up old cert" echo "certificate soon to become invalid; backing up old cert"
mkdir -p oldkeys mkdir -p oldkeys
mv -v ${cfg.providerName}.key oldkeys/${cfg.providerName}-$(date +%F-%T).key mv -v "${cfg.providerName}.key" "oldkeys/${cfg.providerName}-$(date +%F-%T).key"
mv -v ${cfg.providerName}.crt oldkeys/${cfg.providerName}-$(date +%F-%T).crt mv -v "${cfg.providerName}.crt" "oldkeys/${cfg.providerName}-$(date +%F-%T).crt"
systemctl restart dnscrypt-wrapper kill "$(pidof -s dnscrypt-wrapper)"
fi fi
''; '';
@ -222,17 +222,6 @@ in {
}; };
users.groups.dnscrypt-wrapper = { }; users.groups.dnscrypt-wrapper = { };
security.polkit.extraConfig = ''
// Allow dnscrypt-wrapper user to restart dnscrypt-wrapper.service
polkit.addRule(function(action, subject) {
if (action.id == "org.freedesktop.systemd1.manage-units" &&
action.lookup("unit") == "dnscrypt-wrapper.service" &&
subject.user == "dnscrypt-wrapper") {
return polkit.Result.YES;
}
});
'';
systemd.services.dnscrypt-wrapper = { systemd.services.dnscrypt-wrapper = {
description = "dnscrypt-wrapper daemon"; description = "dnscrypt-wrapper daemon";
after = [ "network.target" ]; after = [ "network.target" ];
@ -242,7 +231,7 @@ in {
serviceConfig = { serviceConfig = {
User = "dnscrypt-wrapper"; User = "dnscrypt-wrapper";
WorkingDirectory = dataDir; WorkingDirectory = dataDir;
Restart = "on-failure"; Restart = "always";
ExecStart = "${pkgs.dnscrypt-wrapper}/bin/dnscrypt-wrapper ${toString daemonArgs}"; ExecStart = "${pkgs.dnscrypt-wrapper}/bin/dnscrypt-wrapper ${toString daemonArgs}";
}; };
@ -255,7 +244,7 @@ in {
requires = [ "dnscrypt-wrapper.service" ]; requires = [ "dnscrypt-wrapper.service" ];
description = "Rotates DNSCrypt wrapper keys if soon to expire"; description = "Rotates DNSCrypt wrapper keys if soon to expire";
path = with pkgs; [ dnscrypt-wrapper dnscrypt-proxy1 gawk ]; path = with pkgs; [ dnscrypt-wrapper dnscrypt-proxy1 gawk procps ];
script = rotateKeys; script = rotateKeys;
serviceConfig.User = "dnscrypt-wrapper"; serviceConfig.User = "dnscrypt-wrapper";
}; };

View file

@ -20,7 +20,7 @@ let
'' ''
else else
pkgs.writeText "ntopng.conf" '' pkgs.writeText "ntopng.conf" ''
${concatStringsSep " " (map (e: "--interface=" + e) cfg.interfaces)} ${concatStringsSep "\n" (map (e: "--interface=${e}") cfg.interfaces)}
--http-port=${toString cfg.httpPort} --http-port=${toString cfg.httpPort}
--redis=${cfg.redis.address} --redis=${cfg.redis.address}
--data-dir=/var/lib/ntopng --data-dir=/var/lib/ntopng

View file

@ -27,7 +27,10 @@ let
${cfg.extraConfig} ${cfg.extraConfig}
''; '';
chronyFlags = [ "-n" "-m" "-u" "chrony" "-f" "${configFile}" ] ++ cfg.extraFlags; chronyFlags =
[ "-n" "-u" "chrony" "-f" "${configFile}" ]
++ optional cfg.enableMemoryLocking "-m"
++ cfg.extraFlags;
in in
{ {
options = { options = {
@ -73,6 +76,15 @@ in
''; '';
}; };
enableMemoryLocking = mkOption {
type = types.bool;
default = config.environment.memoryAllocator.provider != "graphene-hardened";
defaultText = ''config.environment.memoryAllocator.provider != "graphene-hardened"'';
description = lib.mdDoc ''
Whether to add the `-m` flag to lock memory.
'';
};
enableNTS = mkOption { enableNTS = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;

View file

@ -8,6 +8,21 @@ let
jsonFormat = pkgs.formats.json {}; jsonFormat = pkgs.formats.json {};
defaultPHPSettings = {
short_open_tag = "Off";
expose_php = "Off";
error_reporting = "E_ALL & ~E_DEPRECATED & ~E_STRICT";
display_errors = "stderr";
"opcache.enable_cli" = "1";
"opcache.interned_strings_buffer" = "8";
"opcache.max_accelerated_files" = "10000";
"opcache.memory_consumption" = "128";
"opcache.revalidate_freq" = "1";
"opcache.fast_shutdown" = "1";
"openssl.cafile" = "/etc/ssl/certs/ca-certificates.crt";
catch_workers_output = "yes";
};
inherit (cfg) datadir; inherit (cfg) datadir;
phpPackage = cfg.phpPackage.buildEnv { phpPackage = cfg.phpPackage.buildEnv {
@ -26,22 +41,13 @@ let
++ optional cfg.caching.memcached memcached ++ optional cfg.caching.memcached memcached
) )
++ cfg.phpExtraExtensions all; # Enabled by user ++ cfg.phpExtraExtensions all; # Enabled by user
extraConfig = toKeyValue phpOptions; extraConfig = toKeyValue cfg.phpOptions;
}; };
toKeyValue = generators.toKeyValue { toKeyValue = generators.toKeyValue {
mkKeyValue = generators.mkKeyValueDefault {} " = "; mkKeyValue = generators.mkKeyValueDefault {} " = ";
}; };
phpOptions = {
upload_max_filesize = cfg.maxUploadSize;
post_max_size = cfg.maxUploadSize;
memory_limit = cfg.maxUploadSize;
} // cfg.phpOptions
// optionalAttrs cfg.caching.apcu {
"apc.enable_cli" = "1";
};
occ = pkgs.writeScriptBin "nextcloud-occ" '' occ = pkgs.writeScriptBin "nextcloud-occ" ''
#! ${pkgs.runtimeShell} #! ${pkgs.runtimeShell}
cd ${cfg.package} cd ${cfg.package}
@ -136,8 +142,8 @@ in {
default = config.services.nextcloud.home; default = config.services.nextcloud.home;
defaultText = literalExpression "config.services.nextcloud.home"; defaultText = literalExpression "config.services.nextcloud.home";
description = lib.mdDoc '' description = lib.mdDoc ''
Data storage path of nextcloud. Will be [](#opt-services.nextcloud.home) by default. Nextcloud's data storage path. Will be [](#opt-services.nextcloud.home) by default.
This folder will be populated with a config.php and data folder which contains the state of the instance (excl the database)."; This folder will be populated with a config.php file and a data folder which contains the state of the instance (excluding the database).";
''; '';
example = "/mnt/nextcloud-file"; example = "/mnt/nextcloud-file";
}; };
@ -170,8 +176,8 @@ in {
type = types.bool; type = types.bool;
default = true; default = true;
description = lib.mdDoc '' description = lib.mdDoc ''
Automatically enable the apps in [](#opt-services.nextcloud.extraApps) every time nextcloud starts. Automatically enable the apps in [](#opt-services.nextcloud.extraApps) every time Nextcloud starts.
If set to false, apps need to be enabled in the Nextcloud user interface or with nextcloud-occ app:enable. If set to false, apps need to be enabled in the Nextcloud web user interface or with `nextcloud-occ app:enable`.
''; '';
}; };
appstoreEnable = mkOption { appstoreEnable = mkOption {
@ -179,16 +185,28 @@ in {
default = null; default = null;
example = true; example = true;
description = lib.mdDoc '' description = lib.mdDoc ''
Allow the installation of apps and app updates from the store. Allow the installation and updating of apps from the Nextcloud appstore.
Enabled by default unless there are packages in [](#opt-services.nextcloud.extraApps). Enabled by default unless there are packages in [](#opt-services.nextcloud.extraApps).
Set to true to force enable the store even if [](#opt-services.nextcloud.extraApps) is used. Set this to true to force enable the store even if [](#opt-services.nextcloud.extraApps) is used.
Set to false to disable the installation of apps from the global appstore. App management is always enabled regardless of this setting. Set this to false to disable the installation of apps from the global appstore. App management is always enabled regardless of this setting.
''; '';
}; };
logLevel = mkOption { logLevel = mkOption {
type = types.ints.between 0 4; type = types.ints.between 0 4;
default = 2; default = 2;
description = lib.mdDoc "Log level value between 0 (DEBUG) and 4 (FATAL)."; description = lib.mdDoc ''
Log level value between 0 (DEBUG) and 4 (FATAL).
- 0 (debug): Log all activity.
- 1 (info): Log activity such as user logins and file activities, plus warnings, errors, and fatal errors.
- 2 (warn): Log successful operations, as well as warnings of potential problems, errors and fatal errors.
- 3 (error): Log failed operations and fatal errors.
- 4 (fatal): Log only fatal errors that cause the server to stop.
'';
}; };
logType = mkOption { logType = mkOption {
type = types.enum [ "errorlog" "file" "syslog" "systemd" ]; type = types.enum [ "errorlog" "file" "syslog" "systemd" ];
@ -202,7 +220,7 @@ in {
https = mkOption { https = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
description = lib.mdDoc "Use https for generated links."; description = lib.mdDoc "Use HTTPS for generated links.";
}; };
package = mkOption { package = mkOption {
type = types.package; type = types.package;
@ -222,7 +240,7 @@ in {
default = "512M"; default = "512M";
type = types.str; type = types.str;
description = lib.mdDoc '' description = lib.mdDoc ''
Defines the upload limit for files. This changes the relevant options The upload limit for files. This changes the relevant options
in php.ini and nginx if enabled. in php.ini and nginx if enabled.
''; '';
}; };
@ -251,10 +269,10 @@ in {
default = all: []; default = all: [];
defaultText = literalExpression "all: []"; defaultText = literalExpression "all: []";
description = lib.mdDoc '' description = lib.mdDoc ''
Additional PHP extensions to use for nextcloud. Additional PHP extensions to use for Nextcloud.
By default, only extensions necessary for a vanilla nextcloud installation are enabled, By default, only extensions necessary for a vanilla Nextcloud installation are enabled,
but you may choose from the list of available extensions and add further ones. but you may choose from the list of available extensions and add further ones.
This is sometimes necessary to be able to install a certain nextcloud app that has additional requirements. This is sometimes necessary to be able to install a certain Nextcloud app that has additional requirements.
''; '';
example = literalExpression '' example = literalExpression ''
all: [ all.pdlib all.bz2 ] all: [ all.pdlib all.bz2 ]
@ -263,22 +281,33 @@ in {
phpOptions = mkOption { phpOptions = mkOption {
type = types.attrsOf types.str; type = types.attrsOf types.str;
default = { defaultText = literalExpression (generators.toPretty { } defaultPHPSettings);
short_open_tag = "Off";
expose_php = "Off";
error_reporting = "E_ALL & ~E_DEPRECATED & ~E_STRICT";
display_errors = "stderr";
"opcache.enable_cli" = "1";
"opcache.interned_strings_buffer" = "8";
"opcache.max_accelerated_files" = "10000";
"opcache.memory_consumption" = "128";
"opcache.revalidate_freq" = "1";
"opcache.fast_shutdown" = "1";
"openssl.cafile" = "/etc/ssl/certs/ca-certificates.crt";
catch_workers_output = "yes";
};
description = lib.mdDoc '' description = lib.mdDoc ''
Options for PHP's php.ini file for nextcloud. Options for PHP's php.ini file for nextcloud.
Please note that this option is _additive_ on purpose while the
attribute values inside the default are option defaults: that means that
```nix
{
services.nextcloud.phpOptions."opcache.interned_strings_buffer" = "23";
}
```
will override the `php.ini` option `opcache.interned_strings_buffer` without
discarding the rest of the defaults.
Overriding all of `phpOptions` (including `upload_max_filesize`, `post_max_size`
and `memory_limit` which all point to [](#opt-services.nextcloud.maxUploadSize)
by default) can be done like this:
```nix
{
services.nextcloud.phpOptions = lib.mkForce {
/* ... */
};
}
```
''; '';
}; };
@ -301,7 +330,7 @@ in {
type = types.nullOr types.lines; type = types.nullOr types.lines;
default = null; default = null;
description = lib.mdDoc '' description = lib.mdDoc ''
Options for nextcloud's PHP pool. See the documentation on `php-fpm.conf` for details on configuration directives. Options for Nextcloud's PHP pool. See the documentation on `php-fpm.conf` for details on configuration directives.
''; '';
}; };
@ -319,7 +348,7 @@ in {
type = types.bool; type = types.bool;
default = false; default = false;
description = lib.mdDoc '' description = lib.mdDoc ''
Create the database and database user locally. Whether to create the database and database user locally.
''; '';
}; };
@ -357,9 +386,10 @@ in {
else "localhost"; else "localhost";
defaultText = "localhost"; defaultText = "localhost";
description = lib.mdDoc '' description = lib.mdDoc ''
Database host or socket path. Defaults to the correct unix socket Database host or socket path.
instead if `services.nextcloud.database.createLocally` is true and If [](#opt-services.nextcloud.database.createLocally) is true and
`services.nextcloud.config.dbtype` is either `pgsql` or `mysql`. [](#opt-services.nextcloud.config.dbtype) is either `pgsql` or `mysql`,
defaults to the correct Unix socket instead.
''; '';
}; };
dbport = mkOption { dbport = mkOption {
@ -370,19 +400,23 @@ in {
dbtableprefix = mkOption { dbtableprefix = mkOption {
type = types.nullOr types.str; type = types.nullOr types.str;
default = null; default = null;
description = lib.mdDoc "Table prefix in Nextcloud database."; description = lib.mdDoc "Table prefix in Nextcloud's database.";
}; };
adminuser = mkOption { adminuser = mkOption {
type = types.str; type = types.str;
default = "root"; default = "root";
description = lib.mdDoc "Admin username."; description = lib.mdDoc ''
Username for the admin account. The username is only set during the
initial setup of Nextcloud! Since the username also acts as unique
ID internally, it cannot be changed later!
'';
}; };
adminpassFile = mkOption { adminpassFile = mkOption {
type = types.str; type = types.str;
description = lib.mdDoc '' description = lib.mdDoc ''
The full path to a file that contains the admin's password. Must be The full path to a file that contains the admin's password. Must be
readable by user `nextcloud`. The password is set only in the initial readable by user `nextcloud`. The password is set only in the initial
setup of nextcloud by the systemd `nextcloud-setup.service`. setup of Nextcloud by the systemd service `nextcloud-setup.service`.
''; '';
}; };
@ -390,7 +424,7 @@ in {
type = types.listOf types.str; type = types.listOf types.str;
default = []; default = [];
description = lib.mdDoc '' description = lib.mdDoc ''
Trusted domains, from which the nextcloud installation will be Trusted domains from which the Nextcloud installation will be
accessible. You don't need to add accessible. You don't need to add
`services.nextcloud.hostname` here. `services.nextcloud.hostname` here.
''; '';
@ -400,8 +434,8 @@ in {
type = types.listOf types.str; type = types.listOf types.str;
default = []; default = [];
description = lib.mdDoc '' description = lib.mdDoc ''
Trusted proxies, to provide if the nextcloud installation is being Trusted proxies to provide if the Nextcloud installation is being
proxied to secure against e.g. spoofing. proxied to secure against, e.g. spoofing.
''; '';
}; };
@ -411,10 +445,10 @@ in {
example = "https"; example = "https";
description = lib.mdDoc '' description = lib.mdDoc ''
Force Nextcloud to always use HTTPS i.e. for link generation. Nextcloud Force Nextcloud to always use HTTP or HTTPS i.e. for link generation.
uses the currently used protocol by default, but when behind a reverse-proxy, Nextcloud uses the currently used protocol by default, but when
it may use `http` for everything although Nextcloud behind a reverse-proxy, it may use `http` for everything although
may be served via HTTPS. Nextcloud may be served via HTTPS.
''; '';
}; };
@ -423,16 +457,12 @@ in {
type = types.nullOr types.str; type = types.nullOr types.str;
example = "DE"; example = "DE";
description = lib.mdDoc '' description = lib.mdDoc ''
::: {.warning} An [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html)
This option exists since Nextcloud 21! If older versions are used, country code which replaces automatic phone-number detection
this will throw an eval-error! without a country code.
:::
[ISO 3611-1](https://www.iso.org/iso-3166-country-codes.html) As an example, with `DE` set as the default phone region,
country codes for automatic phone-number detection without a country code. the `+49` prefix can be omitted for phone numbers.
With e.g. `DE` set, the `+49` can be omitted for
phone-numbers.
''; '';
}; };
@ -557,10 +587,10 @@ in {
default = config.services.nextcloud.notify_push.enable; default = config.services.nextcloud.notify_push.enable;
defaultText = literalExpression "config.services.nextcloud.notify_push.enable"; defaultText = literalExpression "config.services.nextcloud.notify_push.enable";
description = lib.mdDoc '' description = lib.mdDoc ''
Whether to configure nextcloud to use the recommended redis settings for small instances. Whether to configure Nextcloud to use the recommended Redis settings for small instances.
::: {.note} ::: {.note}
The `notify_push` app requires redis to be configured. If this option is turned off, this must be configured manually. The `notify_push` app requires Redis to be configured. If this option is turned off, this must be configured manually.
::: :::
''; '';
}; };
@ -597,7 +627,7 @@ in {
type = types.bool; type = types.bool;
default = false; default = false;
description = lib.mdDoc '' description = lib.mdDoc ''
Run regular auto update of all apps installed from the nextcloud app store. Run a regular auto-update of all apps installed from the Nextcloud app store.
''; '';
}; };
startAt = mkOption { startAt = mkOption {
@ -644,7 +674,7 @@ in {
type = jsonFormat.type; type = jsonFormat.type;
default = {}; default = {};
description = lib.mdDoc '' description = lib.mdDoc ''
Extra options which should be appended to nextcloud's config.php file. Extra options which should be appended to Nextcloud's config.php file.
''; '';
example = literalExpression '' { example = literalExpression '' {
redis = { redis = {
@ -661,7 +691,7 @@ in {
type = types.nullOr types.str; type = types.nullOr types.str;
default = null; default = null;
description = lib.mdDoc '' description = lib.mdDoc ''
Secret options which will be appended to nextcloud's config.php file (written as JSON, in the same Secret options which will be appended to Nextcloud's config.php file (written as JSON, in the same
form as the [](#opt-services.nextcloud.extraOptions) option), for example form as the [](#opt-services.nextcloud.extraOptions) option), for example
`{"redis":{"password":"secret"}}`. `{"redis":{"password":"secret"}}`.
''; '';
@ -695,7 +725,7 @@ in {
A legacy Nextcloud install (from before NixOS ${nixos}) may be installed. A legacy Nextcloud install (from before NixOS ${nixos}) may be installed.
After nextcloud${toString major} is installed successfully, you can safely upgrade After nextcloud${toString major} is installed successfully, you can safely upgrade
to ${toString (major + 1)}. The latest version available is nextcloud${toString latest}. to ${toString (major + 1)}. The latest version available is Nextcloud${toString latest}.
Please note that Nextcloud doesn't support upgrades across multiple major versions Please note that Nextcloud doesn't support upgrades across multiple major versions
(i.e. an upgrade from 16 is possible to 17, but not 16 to 18). (i.e. an upgrade from 16 is possible to 17, but not 16 to 18).
@ -750,6 +780,18 @@ in {
services.nextcloud.phpPackage = services.nextcloud.phpPackage =
if versionOlder cfg.package.version "26" then pkgs.php81 if versionOlder cfg.package.version "26" then pkgs.php81
else pkgs.php82; else pkgs.php82;
services.nextcloud.phpOptions = mkMerge [
(mapAttrs (const mkOptionDefault) defaultPHPSettings)
{
upload_max_filesize = cfg.maxUploadSize;
post_max_size = cfg.maxUploadSize;
memory_limit = cfg.maxUploadSize;
}
(mkIf cfg.caching.apcu {
"apc.enable_cli" = "1";
})
];
} }
{ assertions = [ { assertions = [

View file

@ -4,38 +4,9 @@ with lib;
let let
systemBuilder = systemBuilder =
let ''
kernelPath = "${config.boot.kernelPackages.kernel}/" +
"${config.system.boot.loader.kernelFile}";
initrdPath = "${config.system.build.initialRamdisk}/" +
"${config.system.boot.loader.initrdFile}";
in ''
mkdir $out mkdir $out
# Containers don't have their own kernel or initrd. They boot
# directly into stage 2.
${optionalString config.boot.kernel.enable ''
if [ ! -f ${kernelPath} ]; then
echo "The bootloader cannot find the proper kernel image."
echo "(Expecting ${kernelPath})"
false
fi
ln -s ${kernelPath} $out/kernel
ln -s ${config.system.modulesTree} $out/kernel-modules
${optionalString (config.hardware.deviceTree.package != null) ''
ln -s ${config.hardware.deviceTree.package} $out/dtbs
''}
echo -n "$kernelParams" > $out/kernel-params
ln -s ${initrdPath} $out/initrd
ln -s ${config.system.build.initialRamdiskSecretAppender}/bin/append-initrd-secrets $out
ln -s ${config.hardware.firmware}/lib/firmware $out/firmware
''}
${if config.boot.initrd.systemd.enable then '' ${if config.boot.initrd.systemd.enable then ''
cp ${config.system.build.bootStage2} $out/prepare-root cp ${config.system.build.bootStage2} $out/prepare-root
substituteInPlace $out/prepare-root --subst-var-by systemConfig $out substituteInPlace $out/prepare-root --subst-var-by systemConfig $out
@ -83,7 +54,6 @@ let
systemd = config.systemd.package; systemd = config.systemd.package;
kernelParams = config.boot.kernelParams;
nixosLabel = config.system.nixos.label; nixosLabel = config.system.nixos.label;
inherit (config.system) extraDependencies; inherit (config.system) extraDependencies;

View file

@ -309,6 +309,38 @@ in
system.modulesTree = [ kernel ] ++ config.boot.extraModulePackages; system.modulesTree = [ kernel ] ++ config.boot.extraModulePackages;
# Not required for, e.g., containers as they don't have their own kernel or initrd.
# They boot directly into stage 2.
system.systemBuilderArgs.kernelParams = config.boot.kernelParams;
system.systemBuilderCommands =
let
kernelPath = "${config.boot.kernelPackages.kernel}/" +
"${config.system.boot.loader.kernelFile}";
initrdPath = "${config.system.build.initialRamdisk}/" +
"${config.system.boot.loader.initrdFile}";
in
''
if [ ! -f ${kernelPath} ]; then
echo "The bootloader cannot find the proper kernel image."
echo "(Expecting ${kernelPath})"
false
fi
ln -s ${kernelPath} $out/kernel
ln -s ${config.system.modulesTree} $out/kernel-modules
${optionalString (config.hardware.deviceTree.package != null) ''
ln -s ${config.hardware.deviceTree.package} $out/dtbs
''}
echo -n "$kernelParams" > $out/kernel-params
ln -s ${initrdPath} $out/initrd
ln -s ${config.system.build.initialRamdiskSecretAppender}/bin/append-initrd-secrets $out
ln -s ${config.hardware.firmware}/lib/firmware $out/firmware
'';
# Implement consoleLogLevel both in early boot and using sysctl # Implement consoleLogLevel both in early boot and using sysctl
# (so you don't need to reboot to have changes take effect). # (so you don't need to reboot to have changes take effect).
boot.kernelParams = boot.kernelParams =

View file

@ -129,6 +129,60 @@ let
}; };
}; };
}; };
hooksModule = types.submodule {
options = {
daemon = mkOption {
type = types.attrsOf types.path;
default = { };
description = lib.mdDoc ''
Hooks that will be placed under /var/lib/libvirt/hooks/daemon.d/
and called for daemon start/shutdown/SIGHUP events.
Please see https://libvirt.org/hooks.html for documentation.
'';
};
qemu = mkOption {
type = types.attrsOf types.path;
default = { };
description = lib.mdDoc ''
Hooks that will be placed under /var/lib/libvirt/hooks/qemu.d/
and called for qemu domains begin/end/migrate events.
Please see https://libvirt.org/hooks.html for documentation.
'';
};
lxc = mkOption {
type = types.attrsOf types.path;
default = { };
description = lib.mdDoc ''
Hooks that will be placed under /var/lib/libvirt/hooks/lxc.d/
and called for lxc domains begin/end events.
Please see https://libvirt.org/hooks.html for documentation.
'';
};
libxl = mkOption {
type = types.attrsOf types.path;
default = { };
description = lib.mdDoc ''
Hooks that will be placed under /var/lib/libvirt/hooks/libxl.d/
and called for libxl-handled xen domains begin/end events.
Please see https://libvirt.org/hooks.html for documentation.
'';
};
network = mkOption {
type = types.attrsOf types.path;
default = { };
description = lib.mdDoc ''
Hooks that will be placed under /var/lib/libvirt/hooks/lxc.d/
and called for networks begin/end events.
Please see https://libvirt.org/hooks.html for documentation.
'';
};
};
};
in in
{ {
@ -246,6 +300,14 @@ in
QEMU related options. QEMU related options.
''; '';
}; };
hooks = mkOption {
type = hooksModule;
default = { };
description = lib.mdDoc ''
Hooks related options.
'';
};
}; };
@ -337,6 +399,15 @@ in
ln -s --force ${ovmfpackage}/FV/AAVMF_VARS.fd /run/${dirName}/nix-ovmf/ ln -s --force ${ovmfpackage}/FV/AAVMF_VARS.fd /run/${dirName}/nix-ovmf/
ln -s --force ${ovmfpackage}/FV/OVMF_VARS.fd /run/${dirName}/nix-ovmf/ ln -s --force ${ovmfpackage}/FV/OVMF_VARS.fd /run/${dirName}/nix-ovmf/
'')} '')}
# Symlink hooks to /var/lib/libvirt
${concatStringsSep "\n" (map (driver:
''
mkdir -p /var/lib/${dirName}/hooks/${driver}.d
rm -rf /var/lib/${dirName}/hooks/${driver}.d/*
${concatStringsSep "\n" (mapAttrsToList (name: value:
"ln -s --force ${value} /var/lib/${dirName}/hooks/${driver}.d/${name}") cfg.hooks.${driver})}
'') (attrNames cfg.hooks))}
''; '';
serviceConfig = { serviceConfig = {

View file

@ -21,7 +21,7 @@ let
if isAttrs val if isAttrs val
then then
if hasAttr "test" val then callTest val if hasAttr "test" val then callTest val
else mapAttrs (n: s: discoverTests s) val else mapAttrs (n: s: if n == "passthru" then s else discoverTests s) val
else if isFunction val else if isFunction val
then then
# Tests based on make-test-python.nix will return the second lambda # Tests based on make-test-python.nix will return the second lambda
@ -167,6 +167,7 @@ in {
cgit = handleTest ./cgit.nix {}; cgit = handleTest ./cgit.nix {};
charliecloud = handleTest ./charliecloud.nix {}; charliecloud = handleTest ./charliecloud.nix {};
chromium = (handleTestOn ["aarch64-linux" "x86_64-linux"] ./chromium.nix {}).stable or {}; chromium = (handleTestOn ["aarch64-linux" "x86_64-linux"] ./chromium.nix {}).stable or {};
chrony = handleTestOn ["aarch64-linux" "x86_64-linux"] ./chrony.nix {};
chrony-ptp = handleTestOn ["aarch64-linux" "x86_64-linux"] ./chrony-ptp.nix {}; chrony-ptp = handleTestOn ["aarch64-linux" "x86_64-linux"] ./chrony-ptp.nix {};
cinnamon = handleTest ./cinnamon.nix {}; cinnamon = handleTest ./cinnamon.nix {};
cjdns = handleTest ./cjdns.nix {}; cjdns = handleTest ./cjdns.nix {};
@ -217,7 +218,7 @@ in {
disable-installer-tools = handleTest ./disable-installer-tools.nix {}; disable-installer-tools = handleTest ./disable-installer-tools.nix {};
discourse = handleTest ./discourse.nix {}; discourse = handleTest ./discourse.nix {};
dnscrypt-proxy2 = handleTestOn ["x86_64-linux"] ./dnscrypt-proxy2.nix {}; dnscrypt-proxy2 = handleTestOn ["x86_64-linux"] ./dnscrypt-proxy2.nix {};
dnscrypt-wrapper = handleTestOn ["x86_64-linux"] ./dnscrypt-wrapper {}; dnscrypt-wrapper = runTestOn ["x86_64-linux"] ./dnscrypt-wrapper;
dnsdist = handleTest ./dnsdist.nix {}; dnsdist = handleTest ./dnsdist.nix {};
doas = handleTest ./doas.nix {}; doas = handleTest ./doas.nix {};
docker = handleTestOn ["aarch64-linux" "x86_64-linux"] ./docker.nix {}; docker = handleTestOn ["aarch64-linux" "x86_64-linux"] ./docker.nix {};
@ -252,6 +253,7 @@ in {
envoy = handleTest ./envoy.nix {}; envoy = handleTest ./envoy.nix {};
ergo = handleTest ./ergo.nix {}; ergo = handleTest ./ergo.nix {};
ergochat = handleTest ./ergochat.nix {}; ergochat = handleTest ./ergochat.nix {};
eris-server = handleTest ./eris-server.nix {};
esphome = handleTest ./esphome.nix {}; esphome = handleTest ./esphome.nix {};
etc = pkgs.callPackage ../modules/system/etc/test.nix { inherit evalMinimalConfig; }; etc = pkgs.callPackage ../modules/system/etc/test.nix { inherit evalMinimalConfig; };
activation = pkgs.callPackage ../modules/system/activation/test.nix { }; activation = pkgs.callPackage ../modules/system/activation/test.nix { };

View file

@ -22,22 +22,6 @@ import ./make-test-python.nix ({ pkgs, ... }: {
''; '';
services.caddy.enableReload = true; services.caddy.enableReload = true;
specialisation.etag.configuration = {
services.caddy.extraConfig = lib.mkForce ''
http://localhost {
encode gzip
file_server
root * ${
pkgs.runCommand "testdir2" {} ''
mkdir "$out"
echo changed > "$out/example.html"
''
}
}
'';
};
specialisation.config-reload.configuration = { specialisation.config-reload.configuration = {
services.caddy.extraConfig = '' services.caddy.extraConfig = ''
http://localhost:8080 { http://localhost:8080 {
@ -55,7 +39,6 @@ import ./make-test-python.nix ({ pkgs, ... }: {
testScript = { nodes, ... }: testScript = { nodes, ... }:
let let
etagSystem = "${nodes.webserver.system.build.toplevel}/specialisation/etag";
justReloadSystem = "${nodes.webserver.system.build.toplevel}/specialisation/config-reload"; justReloadSystem = "${nodes.webserver.system.build.toplevel}/specialisation/config-reload";
multipleConfigs = "${nodes.webserver.system.build.toplevel}/specialisation/multiple-configs"; multipleConfigs = "${nodes.webserver.system.build.toplevel}/specialisation/multiple-configs";
in in
@ -65,33 +48,6 @@ import ./make-test-python.nix ({ pkgs, ... }: {
webserver.wait_for_open_port(80) webserver.wait_for_open_port(80)
def check_etag(url):
etag = webserver.succeed(
"curl --fail -v '{}' 2>&1 | sed -n -e \"s/^< [Ee][Tt][Aa][Gg]: *//p\"".format(
url
)
)
etag = etag.replace("\r\n", " ")
http_code = webserver.succeed(
"curl --fail --silent --show-error -o /dev/null -w \"%{{http_code}}\" --head -H 'If-None-Match: {}' {}".format(
etag, url
)
)
assert int(http_code) == 304, "HTTP code is {}, expected 304".format(http_code)
return etag
with subtest("check ETag if serving Nix store paths"):
old_etag = check_etag(url)
webserver.succeed(
"${etagSystem}/bin/switch-to-configuration test >&2"
)
webserver.sleep(1)
new_etag = check_etag(url)
assert old_etag != new_etag, "Old ETag {} is the same as {}".format(
old_etag, new_etag
)
with subtest("config is reloaded on nixos-rebuild switch"): with subtest("config is reloaded on nixos-rebuild switch"):
webserver.succeed( webserver.succeed(
"${justReloadSystem}/bin/switch-to-configuration test >&2" "${justReloadSystem}/bin/switch-to-configuration test >&2"

View file

@ -0,0 +1,31 @@
import ./make-test-python.nix ({ lib, ... }:
{
name = "chrony";
meta = {
maintainers = with lib.maintainers; [ fpletz ];
};
nodes = {
default = {
services.chrony.enable = true;
};
graphene-hardened = {
services.chrony.enable = true;
services.chrony.enableMemoryLocking = true;
environment.memoryAllocator.provider = "graphene-hardened";
# dhcpcd privsep is incompatible with graphene-hardened
networking.useNetworkd = true;
};
};
testScript = {nodes, ...} : let
graphene-hardened = nodes.graphene-hardened.system.build.toplevel;
in ''
default.start()
default.wait_for_unit('multi-user.target')
default.succeed('systemctl is-active chronyd.service')
default.succeed('${graphene-hardened}/bin/switch-to-configuration test')
default.succeed('systemctl is-active chronyd.service')
'';
})

View file

@ -1,4 +1,6 @@
import ../make-test-python.nix ({ pkgs, ... }: { { lib, pkgs, ... }:
{
name = "dnscrypt-wrapper"; name = "dnscrypt-wrapper";
meta = with pkgs.lib.maintainers; { meta = with pkgs.lib.maintainers; {
maintainers = [ rnhmjoj ]; maintainers = [ rnhmjoj ];
@ -50,23 +52,23 @@ import ../make-test-python.nix ({ pkgs, ... }: {
server.wait_for_unit("dnscrypt-wrapper") server.wait_for_unit("dnscrypt-wrapper")
server.wait_for_file("/var/lib/dnscrypt-wrapper/2.dnscrypt-cert.server.key") server.wait_for_file("/var/lib/dnscrypt-wrapper/2.dnscrypt-cert.server.key")
server.wait_for_file("/var/lib/dnscrypt-wrapper/2.dnscrypt-cert.server.crt") server.wait_for_file("/var/lib/dnscrypt-wrapper/2.dnscrypt-cert.server.crt")
almost_expiration = server.succeed("date --date '4days 23 hours 56min'").strip()
with subtest("The client can connect to the server"): with subtest("The client can connect to the server"):
server.wait_for_unit("tinydns") server.wait_for_unit("tinydns")
client.wait_for_unit("dnscrypt-proxy2") client.wait_for_unit("dnscrypt-proxy2")
assert "1.2.3.4" in client.succeed( assert "1.2.3.4" in client.wait_until_succeeds(
"host it.works" "host it.works"
), "The IP address of 'it.works' does not match 1.2.3.4" ), "The IP address of 'it.works' does not match 1.2.3.4"
with subtest("The server rotates the ephemeral keys"): with subtest("The server rotates the ephemeral keys"):
# advance time by a little less than 5 days # advance time by a little less than 5 days
server.succeed("date -s \"$(date --date '4 days 6 hours')\"") server.succeed(f"date -s '{almost_expiration}'")
client.succeed("date -s \"$(date --date '4 days 6 hours')\"") client.succeed(f"date -s '{almost_expiration}'")
server.wait_for_file("/var/lib/dnscrypt-wrapper/oldkeys") server.wait_for_file("/var/lib/dnscrypt-wrapper/oldkeys")
with subtest("The client can still connect to the server"): with subtest("The client can still connect to the server"):
server.wait_for_unit("dnscrypt-wrapper") server.wait_for_unit("dnscrypt-wrapper")
client.succeed("host it.works") client.succeed("host it.works")
''; '';
}) }

View file

@ -0,0 +1,23 @@
import ./make-test-python.nix ({ pkgs, lib, ... }: {
name = "eris-server";
meta.maintainers = with lib.maintainers; [ ehmry ];
nodes.server = {
environment.systemPackages = [ pkgs.eris-go pkgs.nim.pkgs.eris ];
services.eris-server = {
enable = true;
decode = true;
listenHttp = "[::1]:80";
backends = [ "badger+file:///var/cache/eris.badger?get&put" ];
mountpoint = "/eris";
};
};
testScript = ''
start_all()
server.wait_for_unit("eris-server.service")
server.wait_for_open_port(5683)
server.wait_for_open_port(80)
server.succeed("eriscmd get http://[::1] $(echo 'Hail ERIS!' | eriscmd put coap+tcp://[::1]:5683)")
'';
})

View file

@ -42,7 +42,9 @@ let
}; };
in mapAttrs (_: lP: testsForLinuxPackages lP) kernels // { in mapAttrs (_: lP: testsForLinuxPackages lP) kernels // {
passthru = {
inherit testsForLinuxPackages; inherit testsForLinuxPackages;
testsForKernel = kernel: testsForLinuxPackages (pkgs.linuxPackagesFor kernel); testsForKernel = kernel: testsForLinuxPackages (pkgs.linuxPackagesFor kernel);
};
} }

View file

@ -11,6 +11,9 @@ import ./make-test-python.nix ({ pkgs, ... }: {
memorySize = 2048; memorySize = 2048;
libvirtd.enable = true; libvirtd.enable = true;
libvirtd.hooks.qemu.is_working = "${pkgs.writeShellScript "testHook.sh" ''
touch /tmp/qemu_hook_is_working
''}";
}; };
boot.supportedFilesystems = [ "zfs" ]; boot.supportedFilesystems = [ "zfs" ];
networking.hostId = "deadbeef"; # needed for zfs networking.hostId = "deadbeef"; # needed for zfs
@ -57,5 +60,9 @@ import ./make-test-python.nix ({ pkgs, ... }: {
virthost.shutdown() virthost.shutdown()
virthost.wait_for_unit("multi-user.target") virthost.wait_for_unit("multi-user.target")
virthost.wait_until_succeeds("ping -c 1 nixos") virthost.wait_until_succeeds("ping -c 1 nixos")
with subtest("test if hooks are linked and run"):
virthost.succeed("ls /var/lib/libvirt/hooks/qemu.d/is_working")
virthost.succeed("ls /tmp/qemu_hook_is_working")
''; '';
}) })

View file

@ -10,7 +10,7 @@ import ./make-test-python.nix ({ pkgs, ...} : {
netdata = netdata =
{ pkgs, ... }: { pkgs, ... }:
{ {
environment.systemPackages = with pkgs; [ curl jq ]; environment.systemPackages = with pkgs; [ curl jq netdata ];
services.netdata.enable = true; services.netdata.enable = true;
}; };
}; };
@ -34,5 +34,8 @@ import ./make-test-python.nix ({ pkgs, ...} : {
filter = '[.data[range(10)][.labels | indices("root")[0]]] | add | . > 0' filter = '[.data[range(10)][.labels | indices("root")[0]]] | add | . > 0'
cmd = f"curl -s {url} | jq -e '{filter}'" cmd = f"curl -s {url} | jq -e '{filter}'"
netdata.wait_until_succeeds(cmd) netdata.wait_until_succeeds(cmd)
# check if the control socket is available
netdata.succeed("sudo netdatacli ping")
''; '';
}) })

View file

@ -90,8 +90,8 @@ in {
test -e graph test -e graph
grep "$what" graph >$out || true grep "$what" graph >$out || true
''; '';
nextcloudUsesImagick = findInClosure "imagick" nodes.nextcloud.config.system.build.vm; nextcloudUsesImagick = findInClosure "imagick" nodes.nextcloud.system.build.vm;
nextcloudWithoutDoesntUseIt = findInClosure "imagick" nodes.nextcloudWithoutMagick.config.system.build.vm; nextcloudWithoutDoesntUseIt = findInClosure "imagick" nodes.nextcloudWithoutMagick.system.build.vm;
in '' in ''
assert open("${nextcloudUsesImagick}").read() != "" assert open("${nextcloudUsesImagick}").read() != ""
assert open("${nextcloudWithoutDoesntUseIt}").read() == "" assert open("${nextcloudWithoutDoesntUseIt}").read() == ""

View file

@ -49,8 +49,8 @@ in {
#!${pkgs.runtimeShell} #!${pkgs.runtimeShell}
echo 'bye' | ${withRcloneEnv3} ${pkgs.rclone}/bin/rclone rcat nextcloud:test-shared-file2 echo 'bye' | ${withRcloneEnv3} ${pkgs.rclone}/bin/rclone rcat nextcloud:test-shared-file2
''; '';
openssl1-node = nodes.nextcloudwithopenssl1.config.system.build.toplevel; openssl1-node = nodes.nextcloudwithopenssl1.system.build.toplevel;
openssl3-node = nodes.nextcloudwithopenssl3.config.system.build.toplevel; openssl3-node = nodes.nextcloudwithopenssl3.system.build.toplevel;
in '' in ''
nextcloudwithopenssl1.start() nextcloudwithopenssl1.start()
nextcloudwithopenssl1.wait_for_unit("multi-user.target") nextcloudwithopenssl1.wait_for_unit("multi-user.target")

View file

@ -30,20 +30,27 @@ import ./make-test-python.nix ({ lib, ... }: {
with subtest("Task-queue gets ready"): with subtest("Task-queue gets ready"):
machine.wait_for_unit("paperless-task-queue.service") machine.wait_for_unit("paperless-task-queue.service")
with subtest("Add a document via the web interface"): with subtest("Add a png document via the web interface"):
machine.succeed( machine.succeed(
"convert -size 400x40 xc:white -font 'DejaVu-Sans' -pointsize 20 -fill black " "convert -size 400x40 xc:white -font 'DejaVu-Sans' -pointsize 20 -fill black "
"-annotate +5+20 'hello web 16-10-2005' /tmp/webdoc.png" "-annotate +5+20 'hello web 16-10-2005' /tmp/webdoc.png"
) )
machine.wait_until_succeeds("curl -u admin:admin -F document=@/tmp/webdoc.png -fs localhost:28981/api/documents/post_document/") machine.wait_until_succeeds("curl -u admin:admin -F document=@/tmp/webdoc.png -fs localhost:28981/api/documents/post_document/")
with subtest("Add a txt document via the web interface"):
machine.succeed(
"echo 'hello web 16-10-2005' > /tmp/webdoc.txt"
)
machine.wait_until_succeeds("curl -u admin:admin -F document=@/tmp/webdoc.txt -fs localhost:28981/api/documents/post_document/")
with subtest("Documents are consumed"): with subtest("Documents are consumed"):
machine.wait_until_succeeds( machine.wait_until_succeeds(
"(($(curl -u admin:admin -fs localhost:28981/api/documents/ | jq .count) == 2))" "(($(curl -u admin:admin -fs localhost:28981/api/documents/ | jq .count) == 3))"
) )
docs = json.loads(machine.succeed("curl -u admin:admin -fs localhost:28981/api/documents/"))['results'] docs = json.loads(machine.succeed("curl -u admin:admin -fs localhost:28981/api/documents/"))['results']
assert "2005-10-16" in docs[0]['created'] assert "2005-10-16" in docs[0]['created']
assert "2005-10-16" in docs[1]['created'] assert "2005-10-16" in docs[1]['created']
assert "2005-10-16" in docs[2]['created']
# Detects gunicorn issues, see PR #190888 # Detects gunicorn issues, see PR #190888
with subtest("Document metadata can be accessed"): with subtest("Document metadata can be accessed"):
@ -52,5 +59,8 @@ import ./make-test-python.nix ({ lib, ... }: {
metadata = json.loads(machine.succeed("curl -u admin:admin -fs localhost:28981/api/documents/2/metadata/")) metadata = json.loads(machine.succeed("curl -u admin:admin -fs localhost:28981/api/documents/2/metadata/"))
assert "original_checksum" in metadata assert "original_checksum" in metadata
metadata = json.loads(machine.succeed("curl -u admin:admin -fs localhost:28981/api/documents/3/metadata/"))
assert "original_checksum" in metadata
''; '';
}) })

View file

@ -307,6 +307,23 @@ let
''; '';
}; };
idrac = {
exporterConfig = {
enable = true;
port = 9348;
configuration = {
hosts = {
default = { username = "username"; password = "password"; };
};
};
};
exporterTest = ''
wait_for_unit("prometheus-idrac-exporter.service")
wait_for_open_port(9348)
wait_until_succeeds("curl localhost:9348")
'';
};
influxdb = { influxdb = {
exporterConfig = { exporterConfig = {
enable = true; enable = true;

View file

@ -22,8 +22,23 @@ stdenv.mkDerivation rec {
sha256 = "sha256-5m4aeuCqSJNgerQKyP9M6Qf7P4ijCtCY4Efew6E09Bc="; sha256 = "sha256-5m4aeuCqSJNgerQKyP9M6Qf7P4ijCtCY4Efew6E09Bc=";
}; };
nativeBuildInputs = [ pkg-config ]; postPatch = ''
buildInputs = [ wayland-scanner wayland pango glib harfbuzz cairo libxkbcommon ]; substituteInPlace Makefile \
--replace "pkg-config" "$PKG_CONFIG"
'';
nativeBuildInputs = [
pkg-config
wayland-scanner
];
buildInputs = [
cairo
glib
harfbuzz
libxkbcommon
pango
wayland
];
installFlags = [ "PREFIX=$(out)" ]; installFlags = [ "PREFIX=$(out)" ];
meta = with lib; { meta = with lib; {

View file

@ -26,13 +26,13 @@ assert withQt -> wrapQtAppsHook != null;
stdenv.mkDerivation (finalAttrs: { stdenv.mkDerivation (finalAttrs: {
pname = "carla"; pname = "carla";
version = "2.5.5"; version = "2.5.6";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "falkTX"; owner = "falkTX";
repo = finalAttrs.pname; repo = finalAttrs.pname;
rev = "v${finalAttrs.version}"; rev = "v${finalAttrs.version}";
hash = "sha256-kXQ0dv4KrwvfxdP73zimof9XKpAz5E6hQrFOjLG4hKU="; hash = "sha256-/ZIproky1AHJHvV62xWm0nrzNBOjvBBv93V0KespVjU=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View file

@ -15,7 +15,7 @@ python39.pkgs.buildPythonApplication {
nativeBuildInputs = [ wrapGAppsHook ]; nativeBuildInputs = [ wrapGAppsHook ];
propagatedBuildInputs = with python39.pkgs; [ propagatedBuildInputs = with python39.pkgs; [
cx_Freeze cx-freeze
wxPython_4_2 wxPython_4_2
pygame pygame
]; ];

View file

@ -13,13 +13,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "ft2-clone"; pname = "ft2-clone";
version = "1.68"; version = "1.69";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "8bitbubsy"; owner = "8bitbubsy";
repo = "ft2-clone"; repo = "ft2-clone";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-mO8GrLyO7Zr9+lRy2WQ4OeRWDGmo22mPnZbajL78hJ8="; sha256 = "sha256-tm0yTh46UKnsjH9hv3cMW0YL2x3OTRL+14x4c7w124U=";
}; };
# Adapt the linux-only CMakeLists to darwin (more reliable than make-macos.sh) # Adapt the linux-only CMakeLists to darwin (more reliable than make-macos.sh)

View file

@ -26,10 +26,10 @@ buildPythonApplication {
nativeBuildInputs = [ nativeBuildInputs = [
wrapGAppsHook wrapGAppsHook
gobject-introspection
]; ];
buildInputs = [ buildInputs = [
gobject-introspection
gtk3 gtk3
libappindicator libappindicator
libpulseaudio libpulseaudio

View file

@ -1,13 +1,13 @@
{ lib {
, stdenv chromaprint
, fetchurl
, chromaprint
, cmake , cmake
, docbook_xml_dtd_45 , docbook_xml_dtd_45
, docbook_xsl , docbook_xsl
, fetchurl
, ffmpeg , ffmpeg
, flac , flac
, id3lib , id3lib
, lib
, libogg , libogg
, libvorbis , libvorbis
, libxslt , libxslt
@ -20,18 +20,19 @@
, qtquickcontrols , qtquickcontrols
, qttools , qttools
, readline , readline
, stdenv
, taglib , taglib
, wrapQtAppsHook , wrapQtAppsHook
, zlib , zlib
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation (finalAttrs: {
pname = "kid3"; pname = "kid3";
version = "3.9.3"; version = "3.9.4";
src = fetchurl { src = fetchurl {
url = "https://download.kde.org/stable/${pname}/${version}/${pname}-${version}.tar.xz"; url = "https://download.kde.org/stable/kid3/${finalAttrs.version}/kid3-${finalAttrs.version}.tar.xz";
sha256 = "sha256-D2hrdej2Q69AYjDn2Ey4vBSOmzBY3UzZMUdJSRjurdA="; hash = "sha256-xBCWDpYiXeChxIiMPqHG3CyiRau2kUdDJtzcPtvWpSA=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
@ -42,6 +43,7 @@ stdenv.mkDerivation rec {
python3 python3
wrapQtAppsHook wrapQtAppsHook
]; ];
buildInputs = [ buildInputs = [
chromaprint chromaprint
ffmpeg ffmpeg
@ -68,9 +70,10 @@ stdenv.mkDerivation rec {
export DOCBOOKDIR="${docbook_xsl}/xml/xsl/docbook/" export DOCBOOKDIR="${docbook_xsl}/xml/xsl/docbook/"
''; '';
meta = with lib; { meta = {
homepage = "https://kid3.kde.org/";
description = "A simple and powerful audio tag editor"; description = "A simple and powerful audio tag editor";
homepage = "https://kid3.kde.org/";
license = lib.licenses.lgpl2Plus;
longDescription = '' longDescription = ''
If you want to easily tag multiple MP3, Ogg/Vorbis, FLAC, MPC, MP4/AAC, If you want to easily tag multiple MP3, Ogg/Vorbis, FLAC, MPC, MP4/AAC,
MP2, Opus, Speex, TrueAudio, WavPack, WMA, WAV and AIFF files (e.g. full MP2, Opus, Speex, TrueAudio, WavPack, WMA, WAV and AIFF files (e.g. full
@ -100,8 +103,7 @@ stdenv.mkDerivation rec {
- Edit synchronized lyrics and event timing codes, import and export - Edit synchronized lyrics and event timing codes, import and export
LRC files. LRC files.
''; '';
license = licenses.lgpl2Plus; maintainers = [ lib.maintainers.AndersonTorres ];
maintainers = [ maintainers.AndersonTorres ]; platforms = lib.platforms.linux;
platforms = platforms.linux;
}; };
} })

View file

@ -1,16 +1,16 @@
{ lib { lib
, python3
, fetchPypi , fetchPypi
, python3
}: }:
python3.pkgs.buildPythonPackage rec { python3.pkgs.buildPythonPackage rec {
pname = "ledfx"; pname = "ledfx";
version = "2.0.67"; version = "2.0.69";
format = "setuptools"; format = "setuptools";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
hash = "sha256-lFxAMjglQZXCySr83PtvStU6hw2ucQu+rSjIHo1yZBk="; hash = "sha256-gkO6XYiPMkU/zRLvc0yd3jJXVcAgAkR1W1ELTSN461o=";
}; };
postPatch = '' postPatch = ''
@ -52,7 +52,7 @@ python3.pkgs.buildPythonPackage rec {
doCheck = false; doCheck = false;
meta = with lib; { meta = with lib; {
description = "LedFx is a network based LED effect controller with support for advanced real-time audio effects"; description = "Network based LED effect controller with support for advanced real-time audio effects";
homepage = "https://github.com/LedFx/LedFx"; homepage = "https://github.com/LedFx/LedFx";
changelog = "https://github.com/LedFx/LedFx/blob/${version}/CHANGELOG.rst"; changelog = "https://github.com/LedFx/LedFx/blob/${version}/CHANGELOG.rst";
license = licenses.gpl3Only; license = licenses.gpl3Only;

View file

@ -34,9 +34,9 @@ python3Packages.buildPythonApplication rec {
propagatedBuildInputs = with python3Packages; [ toml pygobject3 ]; propagatedBuildInputs = with python3Packages; [ toml pygobject3 ];
nativeBuildInputs = [ wrapGAppsHook ]; nativeBuildInputs = [ wrapGAppsHook gobject-introspection ];
buildInputs = [ gtk3 gobject-introspection sox ]; buildInputs = [ gtk3 sox ];
dontWrapGApps = true; dontWrapGApps = true;
makeWrapperArgs = [ makeWrapperArgs = [

View file

@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
buildInputs = [ fftwSinglePrec lv2 ]; buildInputs = [ fftwSinglePrec lv2 ];
meta = with lib; { meta = with lib; {
homepage = "http://drobilla.net/software/mda-lv2/"; homepage = "http://drobilla.net/software/mda-lv2.html";
description = "An LV2 port of the MDA plugins by Paul Kellett"; description = "An LV2 port of the MDA plugins by Paul Kellett";
license = licenses.gpl2Plus; license = licenses.gpl2Plus;
maintainers = [ maintainers.goibhniu ]; maintainers = [ maintainers.goibhniu ];

View file

@ -10,7 +10,8 @@
let let
pythonPackages = python3Packages; pythonPackages = python3Packages;
pyqt5 = if enablePlayback then pyqt5 =
if enablePlayback then
pythonPackages.pyqt5_with_qtmultimedia pythonPackages.pyqt5_with_qtmultimedia
else else
pythonPackages.pyqt5 pythonPackages.pyqt5
@ -18,13 +19,13 @@ let
in in
pythonPackages.buildPythonApplication rec { pythonPackages.buildPythonApplication rec {
pname = "picard"; pname = "picard";
version = "2.8.5"; version = "2.9";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "metabrainz"; owner = "metabrainz";
repo = pname; repo = "picard";
rev = "refs/tags/release-${version}"; rev = "refs/tags/release-${version}";
sha256 = "sha256-ukqlAXGaqX89U77cM9Ux0RYquT31Ho8ri1Ue7S3+MwQ="; hash = "sha256-ultpLz4u2wBxoL4YbNeZ4Z4NEXBvqpxJ8mzFeGQTt4A=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
@ -37,6 +38,7 @@ pythonPackages.buildPythonApplication rec {
gst_all_1.gst-vaapi gst_all_1.gst-vaapi
gst_all_1.gstreamer gst_all_1.gstreamer
]; ];
buildInputs = [ buildInputs = [
qt5.qtbase qt5.qtbase
qt5.qtwayland qt5.qtwayland
@ -56,20 +58,23 @@ pythonPackages.buildPythonApplication rec {
pyyaml pyyaml
]; ];
preCheck = ''
export HOME=$(mktemp -d)
'';
# In order to spare double wrapping, we use: # In order to spare double wrapping, we use:
preFixup = '' preFixup = ''
makeWrapperArgs+=("''${qtWrapperArgs[@]}") makeWrapperArgs+=("''${qtWrapperArgs[@]}")
'' ''
+ lib.optionalString (pyqt5.multimediaEnabled) '' + lib.optionalString (pyqt5.multimediaEnabled) ''
makeWrapperArgs+=(--prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0") makeWrapperArgs+=(--prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0")
'' '';
;
meta = with lib; { meta = with lib; {
homepage = "https://picard.musicbrainz.org/"; homepage = "https://picard.musicbrainz.org/";
changelog = "https://picard.musicbrainz.org/changelog/"; changelog = "https://picard.musicbrainz.org/changelog/";
description = "The official MusicBrainz tagger"; description = "The official MusicBrainz tagger";
maintainers = with maintainers; [ ehmry ]; maintainers = with maintainers; [ ehmry paveloom ];
license = licenses.gpl2Plus; license = licenses.gpl2Plus;
platforms = platforms.all; platforms = platforms.all;
}; };

View file

@ -19,6 +19,7 @@ stdenv.mkDerivation rec {
meta = with lib; { meta = with lib; {
description = "CLI PulseAudio Volume Control"; description = "CLI PulseAudio Volume Control";
homepage = "https://github.com/falconindy/ponymix"; homepage = "https://github.com/falconindy/ponymix";
mainProgram = "ponymix";
license = licenses.mit; license = licenses.mit;
platforms = platforms.linux; platforms = platforms.linux;
maintainers = with maintainers; [ ericsagnes ]; maintainers = with maintainers; [ ericsagnes ];

View file

@ -1,38 +1,63 @@
{ lib, stdenv, fetchFromGitHub, pkg-config, wrapGAppsHook, alsa-lib, gtk3, libpulseaudio }: {
alsa-lib
, fetchFromGitHub
, gtk3
, lib
, libpulseaudio
, pkg-config
, stdenv
, wrapGAppsHook
}:
stdenv.mkDerivation rec { stdenv.mkDerivation (finalAttrs: {
pname = "praat"; pname = "praat";
version = "6.3.10"; version = "6.3.14";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "praat"; owner = "praat";
repo = "praat"; repo = "praat";
rev = "v${version}"; rev = "v${finalAttrs.version}";
sha256 = "sha256-wnw8GKMukiraZgMMzd3S2NldC/cnRSILNo+D1Rqhr4k="; hash = "sha256-HN4w7n0nh7voL/QKhGQwCcGfzn+nyFOwluESlP3B6VM=";
}; };
configurePhase = '' nativeBuildInputs = [
cp makefiles/makefile.defs.linux.pulse makefile.defs pkg-config
''; wrapGAppsHook
];
buildInputs = [
alsa-lib
gtk3
libpulseaudio
];
makeFlags = [ makeFlags = [
"AR=${stdenv.cc.targetPrefix}ar" "AR=${stdenv.cc.targetPrefix}ar"
]; ];
installPhase = '' configurePhase = ''
install -Dt $out/bin praat runHook preConfigure
cp makefiles/makefile.defs.linux.pulse makefile.defs
runHook postConfigure
''; '';
nativeBuildInputs = [ pkg-config wrapGAppsHook ]; installPhase = ''
buildInputs = [ alsa-lib gtk3 libpulseaudio ]; runHook preInstall
install -Dt $out/bin praat
runHook postInstall
'';
enableParallelBuilding = true; enableParallelBuilding = true;
meta = with lib; { meta = {
description = "Doing phonetics by computer"; description = "Doing phonetics by computer";
homepage = "https://www.fon.hum.uva.nl/praat/"; homepage = "https://www.fon.hum.uva.nl/praat/";
license = licenses.gpl2Plus; # Has some 3rd-party code in it though license = lib.licenses.gpl2Plus; # Has some 3rd-party code in it though
maintainers = with maintainers; [ orivej ]; maintainers = with lib.maintainers; [ orivej ];
platforms = platforms.linux; platforms = lib.platforms.linux;
}; };
} })

View file

@ -52,6 +52,7 @@ stdenv.mkDerivation rec {
itstool itstool
wrapGAppsHook wrapGAppsHook
desktop-file-utils desktop-file-utils
gobject-introspection
]; ];
buildInputs = [ buildInputs = [
@ -72,7 +73,6 @@ stdenv.mkDerivation rec {
brasero brasero
grilo grilo
gobject-introspection
python3.pkgs.pygobject3 python3.pkgs.pygobject3
gst_all_1.gstreamer gst_all_1.gstreamer

View file

@ -17,7 +17,6 @@ python3Packages.buildPythonApplication rec {
buildInputs = [ buildInputs = [
gtk3 gtk3
fdk-aac-encoder fdk-aac-encoder
gobject-introspection
gst_all_1.gst-libav gst_all_1.gst-libav
gst_all_1.gst-plugins-base gst_all_1.gst-plugins-base
gst_all_1.gst-plugins-good gst_all_1.gst-plugins-good
@ -28,6 +27,7 @@ python3Packages.buildPythonApplication rec {
nativeBuildInputs = [ nativeBuildInputs = [
intltool intltool
wrapGAppsHook wrapGAppsHook
gobject-introspection
]; ];
propagatedBuildInputs = [ propagatedBuildInputs = [

View file

@ -50,6 +50,9 @@ python.pkgs.buildPythonApplication rec {
postPatch = '' postPatch = ''
sed -i "/--cov/d" setup.cfg sed -i "/--cov/d" setup.cfg
sed -i "/--no-cov-on-fail/d" setup.cfg sed -i "/--no-cov-on-fail/d" setup.cfg
# https://github.com/sublime-music/sublime-music/commit/f477659d24e372ed6654501deebad91ae4b0b51c
sed -i "s/python-mpv/mpv/g" pyproject.toml
''; '';
buildInputs = [ buildInputs = [

View file

@ -70,11 +70,11 @@ stdenv.mkDerivation (finalAttrs: {
nativeBuildInputs = [ nativeBuildInputs = [
pkg-config pkg-config
python3Packages.wrapPython python3Packages.wrapPython
gobject-introspection
]; ];
buildInputs = [ buildInputs = [
flac flac
gobject-introspection
gtk3 gtk3
libappindicator libappindicator
libnotify libnotify

View file

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "ergo"; pname = "ergo";
version = "5.0.12"; version = "5.0.13";
src = fetchurl { src = fetchurl {
url = "https://github.com/ergoplatform/ergo/releases/download/v${version}/ergo-${version}.jar"; url = "https://github.com/ergoplatform/ergo/releases/download/v${version}/ergo-${version}.jar";
sha256 = "sha256-kh0maR7Bl7YbA49vcJOYeglYfvOi7wk4cHQfwOT9qpQ="; sha256 = "sha256-ZnWiP6Mk6EnrqPT+apSQ0igIEVHy+B8QVbsXRna7up0=";
}; };
nativeBuildInputs = [ makeWrapper ]; nativeBuildInputs = [ makeWrapper ];

View file

@ -0,0 +1,35 @@
{ lib
, buildGoModule
, fetchFromGitHub
, libpcap
}:
buildGoModule rec {
pname = "optimism";
version = "1.1.1";
src = fetchFromGitHub {
owner = "ethereum-optimism";
repo = "optimism";
rev = "op-node/v${version}";
hash = "sha256-COTpmjDH1u2dJA0nKPBG1Aocpyyo8NdtowwjHDTbEKI=";
fetchSubmodules = true;
};
subPackages = [ "op-node/cmd" "op-proposer/cmd" "op-batcher/cmd" ];
vendorHash = "sha256-yAUeCX05dCVEvIzp0cXB/qYVtu3gQfgFi1CNZZKllOU=";
buildInputs = [
libpcap
];
ldflags = [ "-s" "-w" ];
meta = with lib; {
description = "Optimism is Ethereum, scaled";
homepage = "https://github.com/ethereum-optimism/optimism";
license = licenses.mit;
maintainers = with maintainers; [ happysalada ];
};
}

View file

@ -0,0 +1,50 @@
{ stdenv
, lib
, buildGoModule
, fetchFromGitHub
, libobjc
, IOKit
}:
buildGoModule rec {
pname = "op-geth";
version = "1.101106.0";
src = fetchFromGitHub {
owner = "ethereum-optimism";
repo = "op-geth";
rev = "v${version}";
hash = "sha256-hLng9DMzRN43m0+GAc6Bn0c9heuekghn4ZdDKgQcSKY=";
fetchSubmodules = true;
};
subPackages = [
"cmd/abidump"
"cmd/abigen"
"cmd/bootnode"
"cmd/clef"
"cmd/devp2p"
"cmd/ethkey"
"cmd/evm"
"cmd/faucet"
"cmd/geth"
"cmd/p2psim"
"cmd/rlpdump"
"cmd/utils"
];
vendorHash = "sha256-bGEvBXG6q9m5go+4mAlOu424ReTbfwVhkohN+FikBMg=";
# Fix for usb-related segmentation faults on darwin
propagatedBuildInputs =
lib.optionals stdenv.isDarwin [ libobjc IOKit ];
ldflags = [ "-s" "-w" ];
meta = with lib; {
description = "";
homepage = "https://github.com/ethereum-optimism/op-geth";
license = licenses.gpl3Only;
maintainers = with maintainers; [ happysalada ];
};
}

View file

@ -41,9 +41,9 @@
] ]
}: }:
let let
version = "1.14.17"; version = "1.14.23";
sha256 = "sha256-pYbnEF8MgF7fCBf/MOPT//UCeOQj9tuIkDj8UIVFz3E="; sha256 = "sha256-NUkkLzLNh8P7PFh/SVtd9JM18w3egDaaK80urGw1SSs=";
cargoSha256 = "sha256-n9nuBiKV3FCgq5fJ5BuqIIAp1yZ6IO+zHjrMaUBfgzs="; cargoSha256 = "sha256-7t8Quh6T2MzJWEM5Y50CgCyFfx2ZJRAdCpZyyYvJrt4=";
inherit (darwin.apple_sdk_11_0) Libsystem; inherit (darwin.apple_sdk_11_0) Libsystem;
inherit (darwin.apple_sdk_11_0.frameworks) System IOKit AppKit Security; inherit (darwin.apple_sdk_11_0.frameworks) System IOKit AppKit Security;

View file

@ -21,11 +21,11 @@
let let
pname = "sparrow"; pname = "sparrow";
version = "1.7.7"; version = "1.7.8";
src = fetchurl { src = fetchurl {
url = "https://github.com/sparrowwallet/${pname}/releases/download/${version}/${pname}-${version}-x86_64.tar.gz"; url = "https://github.com/sparrowwallet/${pname}/releases/download/${version}/${pname}-${version}-x86_64.tar.gz";
sha256 = "07mgh6xjj8i4d2pvwldl2y586y4fw9ir0rzxr97bh379fdcfqfxa"; sha256 = "0nazqxffmai74x47dbkwryvx1pjm8k85rcfz5nr19h7fa1bj8rkc";
}; };
launcher = writeScript "sparrow" '' launcher = writeScript "sparrow" ''

View file

@ -49,5 +49,6 @@ stdenv.mkDerivation rec {
license = licenses.gpl3Plus; license = licenses.gpl3Plus;
maintainers = with maintainers; [ luc65r ]; maintainers = with maintainers; [ luc65r ];
platforms = platforms.linux; platforms = platforms.linux;
mainProgram = "gtkgreet";
}; };
} }

View file

@ -22,5 +22,6 @@ rustPlatform.buildRustPackage rec {
license = licenses.gpl3Plus; license = licenses.gpl3Plus;
maintainers = with maintainers; [ luc65r ivar ]; maintainers = with maintainers; [ luc65r ivar ];
platforms = platforms.linux; platforms = platforms.linux;
mainProgram = "tuigreet";
}; };
} }

View file

@ -24,9 +24,9 @@ in stdenv.mkDerivation rec {
}; };
nativeBuildInputs = [ meson ninja pkg-config desktop-file-utils nativeBuildInputs = [ meson ninja pkg-config desktop-file-utils
appstream-glib wrapGAppsHook sassc ]; appstream-glib wrapGAppsHook sassc gobject-introspection ];
buildInputs = [ glib pythonEnv gobject-introspection gtk3 buildInputs = [ glib pythonEnv gtk3
gnome.adwaita-icon-theme webkitgtk gspell texlive gnome.adwaita-icon-theme webkitgtk gspell texlive
glib-networking libhandy ]; glib-networking libhandy ];

View file

@ -53,6 +53,16 @@ self: let
super = removeAttrs imported [ "dash" ]; super = removeAttrs imported [ "dash" ];
overrides = { overrides = {
eglot = super.eglot.overrideAttrs (old: {
postInstall = (old.postInstall or "") + ''
local info_file=eglot.info
pushd $out/share/emacs/site-lisp/elpa/eglot-*
# specify output info file to override the one defined in eglot.texi
makeinfo --output=$info_file eglot.texi
install-info $info_file dir
popd
'';
});
}; };
elpaDevelPackages = super // overrides; elpaDevelPackages = super // overrides;

View file

@ -265,10 +265,10 @@
elpaBuild { elpaBuild {
pname = "auctex"; pname = "auctex";
ename = "auctex"; ename = "auctex";
version = "13.2.0"; version = "13.2.1";
src = fetchurl { src = fetchurl {
url = "https://elpa.gnu.org/packages/auctex-13.2.0.tar"; url = "https://elpa.gnu.org/packages/auctex-13.2.1.tar";
sha256 = "1jk05cca7lrwykj3by4s7c198bffam0mga7hgwmcz5bgxl79ijvf"; sha256 = "0q914q1qm5w0yx9cqfmyxzbzxmrdkz321cazy7g7l4mc5qndb9nm";
}; };
packageRequires = [ emacs ]; packageRequires = [ emacs ];
meta = { meta = {
@ -565,6 +565,21 @@
license = lib.licenses.free; license = lib.licenses.free;
}; };
}) {}; }) {};
buildbot = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
elpaBuild {
pname = "buildbot";
ename = "buildbot";
version = "0.0.1";
src = fetchurl {
url = "https://elpa.gnu.org/packages/buildbot-0.0.1.tar";
sha256 = "0glvybvjgwbx3dnr09w9y65v2ic080a4zhs88893amvfw29ig4lx";
};
packageRequires = [ emacs ];
meta = {
homepage = "https://elpa.gnu.org/packages/buildbot.html";
license = lib.licenses.free;
};
}) {};
calibre = callPackage ({ compat, elpaBuild, emacs, fetchurl, lib }: calibre = callPackage ({ compat, elpaBuild, emacs, fetchurl, lib }:
elpaBuild { elpaBuild {
pname = "calibre"; pname = "calibre";
@ -584,10 +599,10 @@
elpaBuild { elpaBuild {
pname = "cape"; pname = "cape";
ename = "cape"; ename = "cape";
version = "0.15"; version = "0.16";
src = fetchurl { src = fetchurl {
url = "https://elpa.gnu.org/packages/cape-0.15.tar"; url = "https://elpa.gnu.org/packages/cape-0.16.tar";
sha256 = "1gy99a7zg8kbh7f4fqqq7cpwjmq7af066m6z6c1wrv438sfsd3kz"; sha256 = "1l9zw71dl5g3q9iysd64l27id63w3klqy9dzc1fn1q6y5gsf8bl4";
}; };
packageRequires = [ compat emacs ]; packageRequires = [ compat emacs ];
meta = { meta = {
@ -832,10 +847,10 @@
elpaBuild { elpaBuild {
pname = "compat"; pname = "compat";
ename = "compat"; ename = "compat";
version = "29.1.4.1"; version = "29.1.4.2";
src = fetchurl { src = fetchurl {
url = "https://elpa.gnu.org/packages/compat-29.1.4.1.tar"; url = "https://elpa.gnu.org/packages/compat-29.1.4.2.tar";
sha256 = "1r8laxmdyrpz4nmzjrndd668bks4fgmbya04m0bfzwvhlrsca940"; sha256 = "1njvbvvx2gl10psswb8md2s9diiy476gy4yj6vwips40r0n96l3g";
}; };
packageRequires = [ emacs seq ]; packageRequires = [ emacs seq ];
meta = { meta = {
@ -847,10 +862,10 @@
elpaBuild { elpaBuild {
pname = "consult"; pname = "consult";
ename = "consult"; ename = "consult";
version = "0.34"; version = "0.35";
src = fetchurl { src = fetchurl {
url = "https://elpa.gnu.org/packages/consult-0.34.tar"; url = "https://elpa.gnu.org/packages/consult-0.35.tar";
sha256 = "12dljbs0x5gbayibzb0mb3bn78wlfx9078b8l0fyfpvbhd9lxhfl"; sha256 = "00rw4d9k16wx55pk7fyj4z718vmqjq18jy0xiv7izzkdkkkk3l7p";
}; };
packageRequires = [ compat emacs ]; packageRequires = [ compat emacs ];
meta = { meta = {
@ -892,10 +907,10 @@
elpaBuild { elpaBuild {
pname = "corfu"; pname = "corfu";
ename = "corfu"; ename = "corfu";
version = "0.36"; version = "0.37";
src = fetchurl { src = fetchurl {
url = "https://elpa.gnu.org/packages/corfu-0.36.tar"; url = "https://elpa.gnu.org/packages/corfu-0.37.tar";
sha256 = "15ysg54rallbdx6la8q8yjdj9rag91wkga8agrwf0xh7pp3nij9d"; sha256 = "0r5c8960nxfdn0kc0x7v0sla0mqids54s5xw9rj6818w1vk9r7g7";
}; };
packageRequires = [ compat emacs ]; packageRequires = [ compat emacs ];
meta = { meta = {
@ -1027,10 +1042,10 @@
elpaBuild { elpaBuild {
pname = "cursory"; pname = "cursory";
ename = "cursory"; ename = "cursory";
version = "1.0.0"; version = "1.0.1";
src = fetchurl { src = fetchurl {
url = "https://elpa.gnu.org/packages/cursory-1.0.0.tar"; url = "https://elpa.gnu.org/packages/cursory-1.0.1.tar";
sha256 = "08mh6564xr4dni53dm7m4jz8cf8v6i99xnrxyp76zvaa809zc5q3"; sha256 = "0m6q7x5144l2q582gdaqgirvgy30ljd1qyjf82l3v1jkc5qf9wfr";
}; };
packageRequires = [ emacs ]; packageRequires = [ emacs ];
meta = { meta = {
@ -1102,10 +1117,10 @@
elpaBuild { elpaBuild {
pname = "debbugs"; pname = "debbugs";
ename = "debbugs"; ename = "debbugs";
version = "0.35"; version = "0.36";
src = fetchurl { src = fetchurl {
url = "https://elpa.gnu.org/packages/debbugs-0.35.tar"; url = "https://elpa.gnu.org/packages/debbugs-0.36.tar";
sha256 = "1w6y02ikjshfk12sdgbryfgj2z4yia2mpifa7g13ab7v9phpqpl1"; sha256 = "1rzv13shadbvy583vjj4zg13v920zpiqrsnn10r3cqqyli89ivn2";
}; };
packageRequires = [ emacs soap-client ]; packageRequires = [ emacs soap-client ];
meta = { meta = {
@ -1132,10 +1147,10 @@
elpaBuild { elpaBuild {
pname = "denote"; pname = "denote";
ename = "denote"; ename = "denote";
version = "1.2.0"; version = "2.0.0";
src = fetchurl { src = fetchurl {
url = "https://elpa.gnu.org/packages/denote-1.2.0.tar"; url = "https://elpa.gnu.org/packages/denote-2.0.0.tar";
sha256 = "09xbyh22xll82ywqmlbsvqhxlqawfivaqydha0gs5qc4yn71kp0k"; sha256 = "1wrfbirkzf9szss1rgpmgdr0gy2dvhnbzlnyhw3sp2jvw5sb1xz9";
}; };
packageRequires = [ emacs ]; packageRequires = [ emacs ];
meta = { meta = {
@ -1278,6 +1293,21 @@
license = lib.licenses.free; license = lib.licenses.free;
}; };
}) {}; }) {};
dired-preview = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
elpaBuild {
pname = "dired-preview";
ename = "dired-preview";
version = "0.1.1";
src = fetchurl {
url = "https://elpa.gnu.org/packages/dired-preview-0.1.1.tar";
sha256 = "1qmrh0sd9s908xkxz5vfhq956ynrx6k2bx8lddmdp8ci8xkw6wmh";
};
packageRequires = [ emacs ];
meta = {
homepage = "https://elpa.gnu.org/packages/dired-preview.html";
license = lib.licenses.free;
};
}) {};
disk-usage = callPackage ({ elpaBuild, emacs, fetchurl, lib }: disk-usage = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
elpaBuild { elpaBuild {
pname = "disk-usage"; pname = "disk-usage";
@ -1477,10 +1507,10 @@
elpaBuild { elpaBuild {
pname = "ef-themes"; pname = "ef-themes";
ename = "ef-themes"; ename = "ef-themes";
version = "1.1.1"; version = "1.2.0";
src = fetchurl { src = fetchurl {
url = "https://elpa.gnu.org/packages/ef-themes-1.1.1.tar"; url = "https://elpa.gnu.org/packages/ef-themes-1.2.0.tar";
sha256 = "0yd3m9az0kdv73wx2vbvv0zmlknnc929ldyxnf78w81r5hd4vn7c"; sha256 = "1s4kw4y8k66x76j6c03gr2my2s95ymdjxwh01lzhyy5xkggikqfj";
}; };
packageRequires = [ emacs ]; packageRequires = [ emacs ];
meta = { meta = {
@ -1602,6 +1632,21 @@
license = lib.licenses.free; license = lib.licenses.free;
}; };
}) {}; }) {};
emacs-gc-stats = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
elpaBuild {
pname = "emacs-gc-stats";
ename = "emacs-gc-stats";
version = "1.4.1";
src = fetchurl {
url = "https://elpa.gnu.org/packages/emacs-gc-stats-1.4.1.tar";
sha256 = "0k7vng4ikcgb3s9qwjxfyjaq4s45n9r2m9hhnvi953gh3q4xdyck";
};
packageRequires = [ emacs ];
meta = {
homepage = "https://elpa.gnu.org/packages/emacs-gc-stats.html";
license = lib.licenses.free;
};
}) {};
embark = callPackage ({ compat, elpaBuild, emacs, fetchurl, lib }: embark = callPackage ({ compat, elpaBuild, emacs, fetchurl, lib }:
elpaBuild { elpaBuild {
pname = "embark"; pname = "embark";
@ -1651,10 +1696,10 @@
elpaBuild { elpaBuild {
pname = "ement"; pname = "ement";
ename = "ement"; ename = "ement";
version = "0.9.3"; version = "0.10";
src = fetchurl { src = fetchurl {
url = "https://elpa.gnu.org/packages/ement-0.9.3.tar"; url = "https://elpa.gnu.org/packages/ement-0.10.tar";
sha256 = "0pqxq2pqj5hjd2fg403y05x99i6x666vk2z2jbm3ipxwnp4krppw"; sha256 = "0iw4vk99h15zhq507praqqar9sc5yyk5hbckygbr4x6af88jc02i";
}; };
packageRequires = [ packageRequires = [
emacs emacs
@ -1680,10 +1725,10 @@
elpaBuild { elpaBuild {
pname = "emms"; pname = "emms";
ename = "emms"; ename = "emms";
version = "15"; version = "16";
src = fetchurl { src = fetchurl {
url = "https://elpa.gnu.org/packages/emms-15.tar"; url = "https://elpa.gnu.org/packages/emms-16.tar";
sha256 = "0kd9qx93cgcxyqsnbp95xx414s08rd5bb35aif3c7qyab5w05yi6"; sha256 = "1c18lrrfg1n5vn1av9p7q3jys27pdmxq8pq5gqb6397jnv9xywby";
}; };
packageRequires = [ cl-lib nadvice seq ]; packageRequires = [ cl-lib nadvice seq ];
meta = { meta = {
@ -2664,10 +2709,10 @@
elpaBuild { elpaBuild {
pname = "jinx"; pname = "jinx";
ename = "jinx"; ename = "jinx";
version = "0.8"; version = "0.9";
src = fetchurl { src = fetchurl {
url = "https://elpa.gnu.org/packages/jinx-0.8.tar"; url = "https://elpa.gnu.org/packages/jinx-0.9.tar";
sha256 = "19dgp312jvpy3k0xq0r033jfhnyrl8xfv3q2djwv9s7883483srn"; sha256 = "0q9g3agql5gm95r64lpcwcs9scwhmwcjjnkiykzxdzpnkjn0mjgb";
}; };
packageRequires = [ compat emacs ]; packageRequires = [ compat emacs ];
meta = { meta = {
@ -2969,10 +3014,10 @@
elpaBuild { elpaBuild {
pname = "logos"; pname = "logos";
ename = "logos"; ename = "logos";
version = "1.0.1"; version = "1.1.1";
src = fetchurl { src = fetchurl {
url = "https://elpa.gnu.org/packages/logos-1.0.1.tar"; url = "https://elpa.gnu.org/packages/logos-1.1.1.tar";
sha256 = "1kmfsgapinx6p8zyxd2s81j703iiril9c907r576z5k498pfifb6"; sha256 = "1lg4disxfzw9nf438j32q1cna447mlxy3sg523cqzhimh1mk5s9f";
}; };
packageRequires = [ emacs ]; packageRequires = [ emacs ];
meta = { meta = {
@ -3029,10 +3074,10 @@
elpaBuild { elpaBuild {
pname = "marginalia"; pname = "marginalia";
ename = "marginalia"; ename = "marginalia";
version = "1.2"; version = "1.3";
src = fetchurl { src = fetchurl {
url = "https://elpa.gnu.org/packages/marginalia-1.2.tar"; url = "https://elpa.gnu.org/packages/marginalia-1.3.tar";
sha256 = "1hhq09ghc8pcphgjhp5mc81i7j4xkkf5sc0swd6xr6mrxd044fnj"; sha256 = "14wk3ld9zaj05dmsyhq70kdl0h4bk4gl6sn7x5cckq3av78idh39";
}; };
packageRequires = [ compat emacs ]; packageRequires = [ compat emacs ];
meta = { meta = {
@ -3349,10 +3394,10 @@
elpaBuild { elpaBuild {
pname = "nano-modeline"; pname = "nano-modeline";
ename = "nano-modeline"; ename = "nano-modeline";
version = "1.0.0"; version = "1.0.1";
src = fetchurl { src = fetchurl {
url = "https://elpa.gnu.org/packages/nano-modeline-1.0.0.tar"; url = "https://elpa.gnu.org/packages/nano-modeline-1.0.1.tar";
sha256 = "0fg4s3ydmb769mnyx3ngx7rp5g8pmm91rqwng05jb8sgn0sfmsni"; sha256 = "1bjxsqbi540cx2zxzrps2bdwj3hkaxw1s9wha1lrldhvckq7dm91";
}; };
packageRequires = [ emacs ]; packageRequires = [ emacs ];
meta = { meta = {
@ -3443,10 +3488,10 @@
elpaBuild { elpaBuild {
pname = "notmuch-indicator"; pname = "notmuch-indicator";
ename = "notmuch-indicator"; ename = "notmuch-indicator";
version = "0.2.2"; version = "1.0.1";
src = fetchurl { src = fetchurl {
url = "https://elpa.gnu.org/packages/notmuch-indicator-0.2.2.tar"; url = "https://elpa.gnu.org/packages/notmuch-indicator-1.0.1.tar";
sha256 = "1jca5zm8vd91ivk5c6n2210ybp1i8rb8cpi1dymbxkcjxc61fzgp"; sha256 = "1n5k2ikk93mdwqqysf6l7gd8i6iazk8yvbqpf8xnz5zny248cc2x";
}; };
packageRequires = [ emacs ]; packageRequires = [ emacs ];
meta = { meta = {
@ -3593,10 +3638,10 @@
elpaBuild { elpaBuild {
pname = "org"; pname = "org";
ename = "org"; ename = "org";
version = "9.6.6"; version = "9.6.7";
src = fetchurl { src = fetchurl {
url = "https://elpa.gnu.org/packages/org-9.6.6.tar"; url = "https://elpa.gnu.org/packages/org-9.6.7.tar";
sha256 = "00xp2v0crg5ls79a9waapymr8rrv00gpff3ihm3w8mr3f6dyypn9"; sha256 = "1wj9sj9ybfkwsk6chxs4pk7fxmnw3r6ai9xj9rr0wrvk0771350c";
}; };
packageRequires = [ emacs ]; packageRequires = [ emacs ];
meta = { meta = {
@ -3638,10 +3683,10 @@
elpaBuild { elpaBuild {
pname = "org-modern"; pname = "org-modern";
ename = "org-modern"; ename = "org-modern";
version = "0.9"; version = "0.10";
src = fetchurl { src = fetchurl {
url = "https://elpa.gnu.org/packages/org-modern-0.9.tar"; url = "https://elpa.gnu.org/packages/org-modern-0.10.tar";
sha256 = "1aq02w1mbqfx370d18a21w6jhnwad55v73yhlvqyghkh1xdi3h0j"; sha256 = "0y17n6ac1b8rsa91qbisagp5mpmpnlni3j78x55z5dnpbi31yn1l";
}; };
packageRequires = [ compat emacs ]; packageRequires = [ compat emacs ];
meta = { meta = {
@ -3758,10 +3803,10 @@
elpaBuild { elpaBuild {
pname = "osm"; pname = "osm";
ename = "osm"; ename = "osm";
version = "0.12"; version = "0.13";
src = fetchurl { src = fetchurl {
url = "https://elpa.gnu.org/packages/osm-0.12.tar"; url = "https://elpa.gnu.org/packages/osm-0.13.tar";
sha256 = "1i94ymji0kknrf8p49vghs7s9f16skp5vsxayj1dy52gkvfh273j"; sha256 = "13bdp8cz1w396vdfxvv8ygla7cbln178rjliknhfl3kqggg32kqx";
}; };
packageRequires = [ compat emacs ]; packageRequires = [ compat emacs ];
meta = { meta = {
@ -3878,10 +3923,10 @@
elpaBuild { elpaBuild {
pname = "perl-doc"; pname = "perl-doc";
ename = "perl-doc"; ename = "perl-doc";
version = "0.6"; version = "0.81";
src = fetchurl { src = fetchurl {
url = "https://elpa.gnu.org/packages/perl-doc-0.6.tar"; url = "https://elpa.gnu.org/packages/perl-doc-0.81.tar";
sha256 = "0xmk09pfvdzkrjfsa2l78bd6akcbdhcbnpvwnm6r83h65gpld79f"; sha256 = "1hbf36zrpjx0xx257370axxfs1yb3iz6g9kc4wg83gcag09j3lci";
}; };
packageRequires = [ emacs ]; packageRequires = [ emacs ];
meta = { meta = {
@ -3938,10 +3983,10 @@
elpaBuild { elpaBuild {
pname = "plz"; pname = "plz";
ename = "plz"; ename = "plz";
version = "0.5.4"; version = "0.7";
src = fetchurl { src = fetchurl {
url = "https://elpa.gnu.org/packages/plz-0.5.4.tar"; url = "https://elpa.gnu.org/packages/plz-0.7.tar";
sha256 = "0dmjza49135x3baczk6q0lv9ib8lvfkdbbw4ps5hkr45wfxr64vc"; sha256 = "00xm6hp51m4cmlw15qgqrspwgs3d9z1hw9pbpva9sa4v7vsbipd2";
}; };
packageRequires = [ emacs ]; packageRequires = [ emacs ];
meta = { meta = {
@ -4403,10 +4448,10 @@
elpaBuild { elpaBuild {
pname = "relint"; pname = "relint";
ename = "relint"; ename = "relint";
version = "1.22"; version = "1.23";
src = fetchurl { src = fetchurl {
url = "https://elpa.gnu.org/packages/relint-1.22.tar"; url = "https://elpa.gnu.org/packages/relint-1.23.tar";
sha256 = "1525hk961q4af06c5a60m7ryp5g8yvfxjp5nmmgkci7vl3ing8zi"; sha256 = "0cyv9hjlyxy1c2394544ljq5d4prhi296y9j2zy6p1lq6irncmv9";
}; };
packageRequires = [ emacs xr ]; packageRequires = [ emacs xr ];
meta = { meta = {
@ -4559,10 +4604,10 @@
elpaBuild { elpaBuild {
pname = "sed-mode"; pname = "sed-mode";
ename = "sed-mode"; ename = "sed-mode";
version = "1.0"; version = "1.1";
src = fetchurl { src = fetchurl {
url = "https://elpa.gnu.org/packages/sed-mode-1.0.el"; url = "https://elpa.gnu.org/packages/sed-mode-1.1.tar";
sha256 = "1zpdai5k9zhy5hw0a5zx7qv3rcf8cn29hncfjnhk9k6sjq0302lg"; sha256 = "1vpfzr95xfvjiq7x1pkhjm96936yzsy9bzm1v8p3hyr486bar0mp";
}; };
packageRequires = []; packageRequires = [];
meta = { meta = {
@ -4923,10 +4968,10 @@
elpaBuild { elpaBuild {
pname = "ssh-deploy"; pname = "ssh-deploy";
ename = "ssh-deploy"; ename = "ssh-deploy";
version = "3.1.14"; version = "3.1.16";
src = fetchurl { src = fetchurl {
url = "https://elpa.gnu.org/packages/ssh-deploy-3.1.14.tar"; url = "https://elpa.gnu.org/packages/ssh-deploy-3.1.16.tar";
sha256 = "079g5g3640hyqdikszkz8kmfqdnqdbkl8rwd6k3kkck39ng63zy6"; sha256 = "0ajmsg4r9yba2m9wn08dsdzl8pr3pjixyqqp263mpwsh02h8im2g";
}; };
packageRequires = [ emacs ]; packageRequires = [ emacs ];
meta = { meta = {
@ -4968,10 +5013,10 @@
elpaBuild { elpaBuild {
pname = "substitute"; pname = "substitute";
ename = "substitute"; ename = "substitute";
version = "0.1.8"; version = "0.2.1";
src = fetchurl { src = fetchurl {
url = "https://elpa.gnu.org/packages/substitute-0.1.8.tar"; url = "https://elpa.gnu.org/packages/substitute-0.2.1.tar";
sha256 = "1xa1ny4iblifrylxkj2i99vnayrxh669dlbpcbk4rb7alvv1npnz"; sha256 = "1p9lhgi4y224aghwnnjxm14da461pj0ym4a7asla02hf33y61i5j";
}; };
packageRequires = [ emacs ]; packageRequires = [ emacs ];
meta = { meta = {
@ -5013,10 +5058,10 @@
elpaBuild { elpaBuild {
pname = "svg-lib"; pname = "svg-lib";
ename = "svg-lib"; ename = "svg-lib";
version = "0.2.6"; version = "0.2.7";
src = fetchurl { src = fetchurl {
url = "https://elpa.gnu.org/packages/svg-lib-0.2.6.tar"; url = "https://elpa.gnu.org/packages/svg-lib-0.2.7.tar";
sha256 = "121wnk9g1dbpkx2w7di5f5czvv17wf67sacqpfpn53185z6mwwf3"; sha256 = "0vq7a1hh6am5a1hqc1fay4cra7944zch5m5vadwhsnqgnrylm2gw";
}; };
packageRequires = [ emacs ]; packageRequires = [ emacs ];
meta = { meta = {
@ -5088,10 +5133,10 @@
elpaBuild { elpaBuild {
pname = "system-packages"; pname = "system-packages";
ename = "system-packages"; ename = "system-packages";
version = "1.0.11"; version = "1.0.12";
src = fetchurl { src = fetchurl {
url = "https://elpa.gnu.org/packages/system-packages-1.0.11.tar"; url = "https://elpa.gnu.org/packages/system-packages-1.0.12.tar";
sha256 = "0xf2q5bslxpw0wycgi2k983lnfpw182rgdzq0f99f64kb7ifns9y"; sha256 = "1q962z0lbdz7qw60lbhzqs8cqc66rhvsyjghy6rs7iqmq6h2sf8c";
}; };
packageRequires = [ emacs ]; packageRequires = [ emacs ];
meta = { meta = {
@ -5168,10 +5213,10 @@
elpaBuild { elpaBuild {
pname = "tempel"; pname = "tempel";
ename = "tempel"; ename = "tempel";
version = "0.7"; version = "0.8";
src = fetchurl { src = fetchurl {
url = "https://elpa.gnu.org/packages/tempel-0.7.tar"; url = "https://elpa.gnu.org/packages/tempel-0.8.tar";
sha256 = "05yhsrricaxlz67w1j0s1gbzpbsw4iqryfvks25v25pm95xrr7c4"; sha256 = "1ppvkwy7c31p4ibshfralwz02xnxmssf6lgikahpimrg928zcd80";
}; };
packageRequires = [ compat emacs ]; packageRequires = [ compat emacs ];
meta = { meta = {
@ -5277,10 +5322,10 @@
elpaBuild { elpaBuild {
pname = "tramp"; pname = "tramp";
ename = "tramp"; ename = "tramp";
version = "2.6.0.5"; version = "2.6.1.1";
src = fetchurl { src = fetchurl {
url = "https://elpa.gnu.org/packages/tramp-2.6.0.5.tar"; url = "https://elpa.gnu.org/packages/tramp-2.6.1.1.tar";
sha256 = "0hbrrlcyhxkmjym4wnwipi47lzqpnlxc833p0hmghc6n0s8sx7hf"; sha256 = "0bjj4r46jgrh72p5fxyv0h0r7cx6x0l3abfcyj91hmyfgifkc5cv";
}; };
packageRequires = [ emacs ]; packageRequires = [ emacs ];
meta = { meta = {
@ -5397,10 +5442,10 @@
elpaBuild { elpaBuild {
pname = "triples"; pname = "triples";
ename = "triples"; ename = "triples";
version = "0.3"; version = "0.3.4";
src = fetchurl { src = fetchurl {
url = "https://elpa.gnu.org/packages/triples-0.3.tar"; url = "https://elpa.gnu.org/packages/triples-0.3.4.tar";
sha256 = "0qzyhsv50qpnys28vksdv404fq6jkdd1733c21lsz15g04kaj9nf"; sha256 = "1y0qqa51iaj62yishyl3j2j9s2p1wzg6yasq417ls3x4rdccji0g";
}; };
packageRequires = [ emacs seq ]; packageRequires = [ emacs seq ];
meta = { meta = {
@ -5708,10 +5753,10 @@
elpaBuild { elpaBuild {
pname = "vertico"; pname = "vertico";
ename = "vertico"; ename = "vertico";
version = "1.3"; version = "1.4";
src = fetchurl { src = fetchurl {
url = "https://elpa.gnu.org/packages/vertico-1.3.tar"; url = "https://elpa.gnu.org/packages/vertico-1.4.tar";
sha256 = "192ljdvzyyjs9i3r3zimzarwpakibdrl036pdk60qmg4kyh057ms"; sha256 = "0jv4adwi18j14yjasqndsgyxgrd1jnjhwrw90hyplfii08f6gmdq";
}; };
packageRequires = [ compat emacs ]; packageRequires = [ compat emacs ];
meta = { meta = {
@ -5907,6 +5952,21 @@
license = lib.licenses.free; license = lib.licenses.free;
}; };
}) {}; }) {};
window-commander = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
elpaBuild {
pname = "window-commander";
ename = "window-commander";
version = "3.0.2";
src = fetchurl {
url = "https://elpa.gnu.org/packages/window-commander-3.0.2.tar";
sha256 = "1v85g89rz8r2ypw6651lrb9mvrimdwhxan7kxzhpgam2i2g7kcr7";
};
packageRequires = [ emacs ];
meta = {
homepage = "https://elpa.gnu.org/packages/window-commander.html";
license = lib.licenses.free;
};
}) {};
windower = callPackage ({ elpaBuild, emacs, fetchurl, lib }: windower = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
elpaBuild { elpaBuild {
pname = "windower"; pname = "windower";
@ -6051,10 +6111,10 @@
elpaBuild { elpaBuild {
pname = "xr"; pname = "xr";
ename = "xr"; ename = "xr";
version = "1.23"; version = "1.24";
src = fetchurl { src = fetchurl {
url = "https://elpa.gnu.org/packages/xr-1.23.tar"; url = "https://elpa.gnu.org/packages/xr-1.24.tar";
sha256 = "1nz3fhd4qx8fxib78y41jvnzn27lf7mlvpkz565d5zc9q4mr300z"; sha256 = "04g7qx6qmhp98pw5iwdhspln9sg9jzjq2zp3nmq3q1yl82pzd214";
}; };
packageRequires = [ emacs ]; packageRequires = [ emacs ];
meta = { meta = {

View file

@ -106,6 +106,17 @@ self: let
}; };
}); });
eglot = super.eglot.overrideAttrs (old: {
postInstall = (old.postInstall or "") + ''
local info_file=eglot.info
pushd $out/share/emacs/site-lisp/elpa/eglot-*
# specify output info file to override the one defined in eglot.texi
makeinfo --output=$info_file eglot.texi
install-info $info_file dir
popd
'';
});
jinx = super.jinx.overrideAttrs (old: let jinx = super.jinx.overrideAttrs (old: let
libExt = pkgs.stdenv.targetPlatform.extensions.sharedLibrary; libExt = pkgs.stdenv.targetPlatform.extensions.sharedLibrary;
in { in {

View file

@ -49,10 +49,10 @@
elpaBuild { elpaBuild {
pname = "annotate"; pname = "annotate";
ename = "annotate"; ename = "annotate";
version = "2.0.0"; version = "2.0.1";
src = fetchurl { src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/annotate-2.0.0.tar"; url = "https://elpa.nongnu.org/nongnu/annotate-2.0.1.tar";
sha256 = "0lahs00abcwjzjqz8238bcmsb25l0r3rj6zycsw7xjkz913sin7y"; sha256 = "1z7s75xcjnkvn7ik7cqylf5c2cih372k1rg4wwxkz3f217d9qjlf";
}; };
packageRequires = []; packageRequires = [];
meta = { meta = {
@ -306,10 +306,10 @@
elpaBuild { elpaBuild {
pname = "cdlatex"; pname = "cdlatex";
ename = "cdlatex"; ename = "cdlatex";
version = "4.14"; version = "4.15";
src = fetchurl { src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/cdlatex-4.14.tar"; url = "https://elpa.nongnu.org/nongnu/cdlatex-4.15.tar";
sha256 = "114g2afnq86c6662ychd0v64aam7nhk3hacbwx1cavhg1k2l7kci"; sha256 = "1dj525adlc6qmv4msbhhlhli5603l0sgi40qfi6cs01ggqkpw64j";
}; };
packageRequires = []; packageRequires = [];
meta = { meta = {
@ -353,10 +353,10 @@
elpaBuild { elpaBuild {
pname = "clojure-mode"; pname = "clojure-mode";
ename = "clojure-mode"; ename = "clojure-mode";
version = "5.16.0"; version = "5.16.1";
src = fetchurl { src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/clojure-mode-5.16.0.tar"; url = "https://elpa.nongnu.org/nongnu/clojure-mode-5.16.1.tar";
sha256 = "1m0g7sqjs6phkkf3mx2dyxr62a48rqq69lp6r5bfa6kcbr2n4g2m"; sha256 = "16zazwq3r6n7v7696cykf7p1pl977chwc5xijirm1p2lxbqdgy7n";
}; };
packageRequires = [ emacs ]; packageRequires = [ emacs ];
meta = { meta = {
@ -406,10 +406,10 @@
elpaBuild { elpaBuild {
pname = "corfu-terminal"; pname = "corfu-terminal";
ename = "corfu-terminal"; ename = "corfu-terminal";
version = "0.5"; version = "0.6";
src = fetchurl { src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/corfu-terminal-0.5.tar"; url = "https://elpa.nongnu.org/nongnu/corfu-terminal-0.6.tar";
sha256 = "1m53d4vi7cl91d8k550735r3ns4lm9vz3gvb0b7skib8jw3x5xqr"; sha256 = "1ndg7ac61gi3ikzygaac8368jw0fwa0xs7kbnz1xp083095y5r0p";
}; };
packageRequires = [ corfu emacs popon ]; packageRequires = [ corfu emacs popon ];
meta = { meta = {
@ -530,10 +530,10 @@
elpaBuild { elpaBuild {
pname = "devil"; pname = "devil";
ename = "devil"; ename = "devil";
version = "0.4.0"; version = "0.6.0";
src = fetchurl { src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/devil-0.4.0.tar"; url = "https://elpa.nongnu.org/nongnu/devil-0.6.0.tar";
sha256 = "1j6qmp1dh3f2g3nxmr5lwbabrfid5kwnbcx5ddsynqkpiq5c866x"; sha256 = "01n552pvr598igmd2q6w9kgjrwgzrgrb4w59mxpsylcv6wy2v2h5";
}; };
packageRequires = [ emacs ]; packageRequires = [ emacs ];
meta = { meta = {
@ -665,10 +665,10 @@
elpaBuild { elpaBuild {
pname = "elixir-mode"; pname = "elixir-mode";
ename = "elixir-mode"; ename = "elixir-mode";
version = "2.4.0"; version = "2.5.0";
src = fetchurl { src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/elixir-mode-2.4.0.tar"; url = "https://elpa.nongnu.org/nongnu/elixir-mode-2.5.0.tar";
sha256 = "0h3ypyxmcpfh8kcwd08rsild4jy8s4mr3zr8va03bbh81pd3nm1m"; sha256 = "0j4rkwmzb3grs7c56m1f6h3mcxvf4cskxf2qw9jw4fc88j5135ym";
}; };
packageRequires = [ emacs ]; packageRequires = [ emacs ];
meta = { meta = {
@ -843,10 +843,10 @@
elpaBuild { elpaBuild {
pname = "evil-matchit"; pname = "evil-matchit";
ename = "evil-matchit"; ename = "evil-matchit";
version = "3.0.0"; version = "3.0.2";
src = fetchurl { src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/evil-matchit-3.0.0.tar"; url = "https://elpa.nongnu.org/nongnu/evil-matchit-3.0.2.tar";
sha256 = "036zf7l8pkhbyk7gz91r00v4fqi2wfdnqv95xkh7jpm2i9xcgg5p"; sha256 = "02sim8hkclkp7lzj3hybjky75lyvf452wc7hmbkx1rjb3cx9j5m5";
}; };
packageRequires = [ emacs ]; packageRequires = [ emacs ];
meta = { meta = {
@ -858,10 +858,10 @@
elpaBuild { elpaBuild {
pname = "evil-nerd-commenter"; pname = "evil-nerd-commenter";
ename = "evil-nerd-commenter"; ename = "evil-nerd-commenter";
version = "3.6.0"; version = "3.6.1";
src = fetchurl { src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/evil-nerd-commenter-3.6.0.tar"; url = "https://elpa.nongnu.org/nongnu/evil-nerd-commenter-3.6.1.tar";
sha256 = "0709qlxhvmapdnl8bhqvg39cm6x4659mg0jzz5b9hmis5bpj1kiq"; sha256 = "0ixyn669fk7gcnl3nhjma67zvnavikn75yzsa4sx850s5i4i1b2a";
}; };
packageRequires = [ emacs ]; packageRequires = [ emacs ];
meta = { meta = {
@ -1029,10 +1029,10 @@
elpaBuild { elpaBuild {
pname = "geiser"; pname = "geiser";
ename = "geiser"; ename = "geiser";
version = "0.28.2"; version = "0.29";
src = fetchurl { src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/geiser-0.28.2.tar"; url = "https://elpa.nongnu.org/nongnu/geiser-0.29.tar";
sha256 = "1d2g673zn59ggcr2sx9dsxibaqh6b456v4wbpg3wb5ph63rzrh8m"; sha256 = "0dzqqxb83krvc6w6rwyh2i012js2qg261cgppn2dwck8cw843jx8";
}; };
packageRequires = [ emacs project ]; packageRequires = [ emacs project ];
meta = { meta = {
@ -1044,10 +1044,10 @@
elpaBuild { elpaBuild {
pname = "geiser-chez"; pname = "geiser-chez";
ename = "geiser-chez"; ename = "geiser-chez";
version = "0.17"; version = "0.18";
src = fetchurl { src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/geiser-chez-0.17.tar"; url = "https://elpa.nongnu.org/nongnu/geiser-chez-0.18.tar";
sha256 = "139x7b3q5n04ig0m263jljm4bsjiiyvi3f84pcq3bgnj3dk5dlxh"; sha256 = "01pkcf0lpzmazah3ddd16yf2la4zd5x4mmi5lwpbsyvyfqhxhsca";
}; };
packageRequires = [ emacs geiser ]; packageRequires = [ emacs geiser ];
meta = { meta = {
@ -1184,10 +1184,10 @@
elpaBuild { elpaBuild {
pname = "geiser-stklos"; pname = "geiser-stklos";
ename = "geiser-stklos"; ename = "geiser-stklos";
version = "1.4"; version = "1.8";
src = fetchurl { src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/geiser-stklos-1.4.tar"; url = "https://elpa.nongnu.org/nongnu/geiser-stklos-1.8.tar";
sha256 = "18z34x4xmn58080r2ar6wd07kap7f367my2q5ph6cdf0gs6nz4sv"; sha256 = "1bz7ggq5pl08pr68nmn82sdpb2vqi7zvsjnai8zvr93dai7p3isa";
}; };
packageRequires = [ emacs geiser ]; packageRequires = [ emacs geiser ];
meta = { meta = {
@ -1430,10 +1430,10 @@
elpaBuild { elpaBuild {
pname = "helm"; pname = "helm";
ename = "helm"; ename = "helm";
version = "3.9.0"; version = "3.9.1";
src = fetchurl { src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/helm-3.9.0.tar"; url = "https://elpa.nongnu.org/nongnu/helm-3.9.1.tar";
sha256 = "00lln7g27iipa9lhd9hw3gl6s92d2di4nlfyjz0hgg32v39fnvjd"; sha256 = "0gfhqag2f2ci3l9v504s1dv8shz5ncmiw2658q1d16w63fgakafk";
}; };
packageRequires = [ helm-core popup ]; packageRequires = [ helm-core popup ];
meta = { meta = {
@ -1445,10 +1445,10 @@
elpaBuild { elpaBuild {
pname = "helm-core"; pname = "helm-core";
ename = "helm-core"; ename = "helm-core";
version = "3.9.0"; version = "3.9.3";
src = fetchurl { src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/helm-core-3.9.0.tar"; url = "https://elpa.nongnu.org/nongnu/helm-core-3.9.3.tar";
sha256 = "1fvrxj64qc4976s6af2zc428dnx2p0skxdnkjikz8rpw8kmffcb9"; sha256 = "07svs1hdj30vrncp0kbmkxlfmwmdvd7nb19851p1bk0a7llkbfpm";
}; };
packageRequires = [ async emacs ]; packageRequires = [ async emacs ];
meta = { meta = {
@ -1697,10 +1697,10 @@
elpaBuild { elpaBuild {
pname = "keycast"; pname = "keycast";
ename = "keycast"; ename = "keycast";
version = "1.3.0"; version = "1.3.2";
src = fetchurl { src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/keycast-1.3.0.tar"; url = "https://elpa.nongnu.org/nongnu/keycast-1.3.2.tar";
sha256 = "0yv9rcpfwjms8p7wmk2lhgbn8b44nyz6g81czcr5z39w5914rh4x"; sha256 = "0z8q1xxx02di0788kgc4xpvl43iyknkj57l9cwf6qq6hi032c9kj";
}; };
packageRequires = [ compat emacs ]; packageRequires = [ compat emacs ];
meta = { meta = {
@ -1869,10 +1869,10 @@
elpaBuild { elpaBuild {
pname = "meow"; pname = "meow";
ename = "meow"; ename = "meow";
version = "1.4.2"; version = "1.4.3";
src = fetchurl { src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/meow-1.4.2.tar"; url = "https://elpa.nongnu.org/nongnu/meow-1.4.3.tar";
sha256 = "1iwysqxmaw85k7g742nx8z9vr3nnmwaidwjmx5n96cyssf64hgkv"; sha256 = "0anpmgpr969lkyzmsms9pcbdhjpfpwyf865pmgl0zd23m922d8s6";
}; };
packageRequires = [ emacs ]; packageRequires = [ emacs ];
meta = { meta = {
@ -2026,6 +2026,21 @@
license = lib.licenses.free; license = lib.licenses.free;
}; };
}) {}; }) {};
opam-switch-mode = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
elpaBuild {
pname = "opam-switch-mode";
ename = "opam-switch-mode";
version = "1.7";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/opam-switch-mode-1.7.tar";
sha256 = "19mg0k6ish0grhh4d9d9m634jkgbx80bgfwf4xh0q42piypyrmrj";
};
packageRequires = [ emacs ];
meta = {
homepage = "https://elpa.gnu.org/packages/opam-switch-mode.html";
license = lib.licenses.free;
};
}) {};
org-auto-tangle = callPackage ({ async, elpaBuild, emacs, fetchurl, lib }: org-auto-tangle = callPackage ({ async, elpaBuild, emacs, fetchurl, lib }:
elpaBuild { elpaBuild {
pname = "org-auto-tangle"; pname = "org-auto-tangle";
@ -2287,10 +2302,10 @@
elpaBuild { elpaBuild {
pname = "php-mode"; pname = "php-mode";
ename = "php-mode"; ename = "php-mode";
version = "1.24.3"; version = "1.25.0";
src = fetchurl { src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/php-mode-1.24.3.tar"; url = "https://elpa.nongnu.org/nongnu/php-mode-1.25.0.tar";
sha256 = "0k44vkkm2njmvw3vfbc2c9v2hm8qy3bnarp328aim9761x61n9gy"; sha256 = "05n53risvyzgyqr0r7v7bgd267dh30wq266mmfhj2q37v1gkfjiv";
}; };
packageRequires = [ emacs ]; packageRequires = [ emacs ];
meta = { meta = {
@ -2302,10 +2317,10 @@
elpaBuild { elpaBuild {
pname = "popon"; pname = "popon";
ename = "popon"; ename = "popon";
version = "0.12"; version = "0.13";
src = fetchurl { src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/popon-0.12.tar"; url = "https://elpa.nongnu.org/nongnu/popon-0.13.tar";
sha256 = "06vsri7dka3qbiwfkl4ml8b99alah24zq8y4n1szh587xy3c7dj0"; sha256 = "1ifwkiq8viic4ymph0xrpyrmr946brp2cx48yqf4jrhknafqv5qf";
}; };
packageRequires = [ emacs ]; packageRequires = [ emacs ];
meta = { meta = {
@ -2380,10 +2395,10 @@
elpaBuild { elpaBuild {
pname = "racket-mode"; pname = "racket-mode";
ename = "racket-mode"; ename = "racket-mode";
version = "1.0.20230508.134227"; version = "1.0.20230628.162612";
src = fetchurl { src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/racket-mode-1.0.20230508.134227.tar"; url = "https://elpa.nongnu.org/nongnu/racket-mode-1.0.20230628.162612.tar";
sha256 = "15h9idjiggl6v1jrmkyg7p80mgpq3mwlj0x0mz3zch6xnx30d73h"; sha256 = "1if790s2dr9n1jql0mjnb4jbimff3as8112c6p47w7pbcjfjasch";
}; };
packageRequires = [ emacs ]; packageRequires = [ emacs ];
meta = { meta = {
@ -2744,10 +2759,10 @@
elpaBuild { elpaBuild {
pname = "subed"; pname = "subed";
ename = "subed"; ename = "subed";
version = "1.2.2"; version = "1.2.3";
src = fetchurl { src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/subed-1.2.2.tar"; url = "https://elpa.nongnu.org/nongnu/subed-1.2.3.tar";
sha256 = "1xlh4kqa8516rvmzy67pzs0ghk9rc919nq5b2sywd5mvzi5spxnh"; sha256 = "0np4wp7pmpayz8r9p3cl7z1i7yfq8xmkn862n9d104szf4ffk0if";
}; };
packageRequires = [ emacs ]; packageRequires = [ emacs ];
meta = { meta = {
@ -2759,10 +2774,10 @@
elpaBuild { elpaBuild {
pname = "sweeprolog"; pname = "sweeprolog";
ename = "sweeprolog"; ename = "sweeprolog";
version = "0.19.0"; version = "0.22.0";
src = fetchurl { src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/sweeprolog-0.19.0.tar"; url = "https://elpa.nongnu.org/nongnu/sweeprolog-0.22.0.tar";
sha256 = "13jq4kprxnv2wiz1hzzjcfg418d0gj2z0bm27y1myh4ak5x1jbvj"; sha256 = "0iqihdlypq9hs2m351pzrzc43jdxzpbws5pmb035668r38qc6v32";
}; };
packageRequires = [ emacs ]; packageRequires = [ emacs ];
meta = { meta = {
@ -2774,10 +2789,10 @@
elpaBuild { elpaBuild {
pname = "swift-mode"; pname = "swift-mode";
ename = "swift-mode"; ename = "swift-mode";
version = "8.6.0"; version = "9.0.0";
src = fetchurl { src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/swift-mode-8.6.0.tar"; url = "https://elpa.nongnu.org/nongnu/swift-mode-9.0.0.tar";
sha256 = "0zasgv311mjc1iih9wv8vb8h53y2pjx24xsbdnn0wk8xcdk4z8j6"; sha256 = "1s69mm7yhz1dhxz118ik7nxqw6gliivbwv1qvylk8nz2lhr8sf9n";
}; };
packageRequires = [ emacs seq ]; packageRequires = [ emacs seq ];
meta = { meta = {
@ -3213,10 +3228,10 @@
elpaBuild { elpaBuild {
pname = "xah-fly-keys"; pname = "xah-fly-keys";
ename = "xah-fly-keys"; ename = "xah-fly-keys";
version = "23.11.20230609124049"; version = "24.4.20230805215231";
src = fetchurl { src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/xah-fly-keys-23.11.20230609124049.tar"; url = "https://elpa.nongnu.org/nongnu/xah-fly-keys-24.4.20230805215231.tar";
sha256 = "0vp457cvwvwbdzglm7s3dbghhc4p3lpr7rxni75fiyqrv8smjrwa"; sha256 = "19r7avllf97g3s8zsv11nb4vs4j005ailm1lav48nll9zlm58j5x";
}; };
packageRequires = [ emacs ]; packageRequires = [ emacs ];
meta = { meta = {

View file

@ -23,10 +23,10 @@ let
docbook2x docbook2x
docbook-xsl-nons docbook-xsl-nons
wrapGAppsHook wrapGAppsHook
gobject-introspection
]; ];
buildInputs = [ buildInputs = [
gtk3 gtk3
gobject-introspection
vala gtk-doc vala gtk-doc
]; ];
}); });
@ -50,10 +50,10 @@ let
python3 python3
glib glib
wrapGAppsHook wrapGAppsHook
gobject-introspection
]; ];
buildInputs = [ buildInputs = [
gtk3 gtk3
gobject-introspection
vala vala
gtk-doc gtk-doc
gst_all_1.gstreamer gst_all_1.gstreamer

View file

@ -0,0 +1,27 @@
{ lib
, stdenv
, rustPlatform
, fetchFromGitHub
}:
rustPlatform.buildRustPackage rec {
pname = "heh";
version = "0.4.1";
src = fetchFromGitHub {
owner = "ndd7xv";
repo = pname;
rev = "v${version}";
hash = "sha256-IIF/bkTLwR8pCs/hJ625T3NsiKf/6Zf1cW2i4lsiK4U=";
};
cargoHash = "sha256-tDvqaNVuzv1BlS/oNI1D/WV1b5uHreT3Ak/6ruqKXQc=";
meta = with lib; {
description = "A cross-platform terminal UI used for modifying file data in hex or ASCII.";
homepage = "https://github.com/ndd7xv/heh";
changelog = "https://github.com/ndd7xv/heh/releases/tag/${src.rev}";
license = with licenses; [ mit ];
maintainers = with maintainers; [ piturnah ];
};
}

View file

@ -25,23 +25,16 @@
rustPlatform.buildRustPackage.override { stdenv = clangStdenv; } rec { rustPlatform.buildRustPackage.override { stdenv = clangStdenv; } rec {
pname = "neovide"; pname = "neovide";
version = "0.10.4"; version = "0.11.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "neovide"; owner = "neovide";
repo = "neovide"; repo = "neovide";
rev = version; rev = version;
sha256 = "sha256-0vIq8vJPvcmA7hRyGY4qQRxwmgQAKHVU+452iMohGCA="; sha256 = "sha256-OIAGqr34QcpYVUTcW+aPoGeBez/VuT6sSFC5JQaodOI=";
}; };
cargoLock = { cargoSha256 = "sha256-SMix6lKBkje0o+SxTK7AVSd+QbUyTlu4yPZ3bxnpggg=";
lockFile = ./Cargo.lock;
outputHashes = {
"glutin-0.26.0" = "sha256-Ie4Jb3wCMZSmF1MUzkLG2TqsLrXXzzi6ATjzCjevZBc=";
"winit-0.24.0" = "sha256-p/eAaDVmTHzfZ+0DiBA/9v06Z5o1dXVNoCgWRqC1ed0=";
"xkbcommon-dl-0.1.0" = "sha256-ojokJF7ivN8JpXo+JAfX3kUOeXneNek7pzIy8D1n4oU=";
};
};
SKIA_SOURCE_DIR = SKIA_SOURCE_DIR =
let let
@ -49,8 +42,8 @@ rustPlatform.buildRustPackage.override { stdenv = clangStdenv; } rec {
owner = "rust-skia"; owner = "rust-skia";
repo = "skia"; repo = "skia";
# see rust-skia:skia-bindings/Cargo.toml#package.metadata skia # see rust-skia:skia-bindings/Cargo.toml#package.metadata skia
rev = "m103-0.51.1"; rev = "m113-0.61.8";
sha256 = "sha256-w5dw/lGm40gKkHPR1ji/L82Oa808Kuh8qaCeiqBLkLw="; sha256 = "sha256-xGfkc1JLBGQW4WcblFyluZ2paEuisCVPNDU4Rfkv3BE=";
}; };
# The externals for skia are taken from skia/DEPS # The externals for skia are taken from skia/DEPS
externals = linkFarm "skia-externals" (lib.mapAttrsToList externals = linkFarm "skia-externals" (lib.mapAttrsToList
@ -122,6 +115,6 @@ rustPlatform.buildRustPackage.override { stdenv = clangStdenv; } rec {
homepage = "https://github.com/neovide/neovide"; homepage = "https://github.com/neovide/neovide";
changelog = "https://github.com/neovide/neovide/releases/tag/${version}"; changelog = "https://github.com/neovide/neovide/releases/tag/${version}";
license = with licenses; [ mit ]; license = with licenses; [ mit ];
maintainers = with maintainers; [ ck3d ]; maintainers = with maintainers; [ ck3d multisn8 ];
}; };
} }

View file

@ -1,8 +1,8 @@
{ {
"expat": { "expat": {
"url": "https://chromium.googlesource.com/external/github.com/libexpat/libexpat.git", "url": "https://chromium.googlesource.com/external/github.com/libexpat/libexpat.git",
"rev": "a28238bdeebc087071777001245df1876a11f5ee", "rev": "441f98d02deafd9b090aea568282b28f66a50e36",
"sha256": "sha256-TSaVtKEk7J0fckDvpI6/U5Aq7d37nsixp0Ft7sMHi8w=" "sha256": "sha256-FXTDGAK03jc2wvazhRKqtsFRKZUYS/9HLpZNp4JfZJI="
}, },
"libjpeg-turbo": { "libjpeg-turbo": {
"url": "https://chromium.googlesource.com/chromium/deps/libjpeg_turbo.git", "url": "https://chromium.googlesource.com/chromium/deps/libjpeg_turbo.git",
@ -21,17 +21,17 @@
}, },
"harfbuzz": { "harfbuzz": {
"url": "https://chromium.googlesource.com/external/github.com/harfbuzz/harfbuzz.git", "url": "https://chromium.googlesource.com/external/github.com/harfbuzz/harfbuzz.git",
"rev": "8d1b000a3edc90c12267b836b4ef3f81c0e53edc", "rev": "09a266236147497bd8149240062c31c16fbc81e3",
"sha256": "sha256-nFAT7HnYkIWZcV6kjDQiRltbPcmbtuRM4m5ecY4/s6E=" "sha256": "sha256-NLydUJI15zRBFFDc7VRDXjgc0AwS3l6GMt2usMWOSG4="
},
"wuffs": {
"url": "https://skia.googlesource.com/external/github.com/google/wuffs-mirror-release-c.git",
"rev": "a0041ac0310b3156b963e2f2bea09245f25ec073",
"sha256": "sha256-obRMrrKY3rPdFwQNa5IplpuKqiodHvRC8jbIOjp7R2w="
}, },
"libpng": { "libpng": {
"url": "https://skia.googlesource.com/third_party/libpng.git", "url": "https://skia.googlesource.com/third_party/libpng.git",
"rev": "386707c6d19b974ca2e3db7f5c61873813c6fe44", "rev": "386707c6d19b974ca2e3db7f5c61873813c6fe44",
"sha256": "sha256-67kf5MBsnBBi0bOfX/RKL52xpaCWm/ampltAI+EeQ+c=" "sha256": "sha256-67kf5MBsnBBi0bOfX/RKL52xpaCWm/ampltAI+EeQ+c="
},
"libgifcodec": {
"url": "https://skia.googlesource.com/libgifcodec",
"rev": "fd59fa92a0c86788dcdd84d091e1ce81eda06a77",
"sha256": "sha256-spyZU4QhV2xrHcBRoYqYgCR0wEM5lgfhGh8pqJE5yXM="
} }
} }

View file

@ -4,13 +4,13 @@ with python3.pkgs;
buildPythonApplication rec { buildPythonApplication rec {
pname = "thonny"; pname = "thonny";
version = "4.0.2"; version = "4.1.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = pname; owner = pname;
repo = pname; repo = pname;
rev = "refs/tags/v${version}"; rev = "refs/tags/v${version}";
sha256 = "sha256-TxfpzKAsU/5ble4VzJ+4pokCiyJsdisjmNwWfxOMKzE="; hash = "sha256-DlizSm5cDvYXQ8Gok+W/RTSaAWJTkdyTQ4uewOiDVXg=";
}; };
nativeBuildInputs = [ copyDesktopItems ]; nativeBuildInputs = [ copyDesktopItems ];

View file

@ -20,13 +20,13 @@ in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "tiled"; pname = "tiled";
version = "1.10.1"; version = "1.10.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "mapeditor"; owner = "mapeditor";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-zrDka6yXJ++UuGFepn8glQ1r7ufBcjsnNZuH+jnkJw0="; sha256 = "sha256-4Ykr60u2t5cyIZdpFHiRirXg2FqSLCzJzsdvw6r/LK8=";
}; };
nativeBuildInputs = [ pkg-config qbs wrapQtAppsHook ]; nativeBuildInputs = [ pkg-config qbs wrapQtAppsHook ];

View file

@ -11,6 +11,10 @@
"date": "2020-03-27", "date": "2020-03-27",
"new": "vim-gist" "new": "vim-gist"
}, },
"lspsaga-nvim-original": {
"date": "2023-08-08",
"new": "lspsaga-nvim"
},
"lua-dev-nvim": { "lua-dev-nvim": {
"date": "2022-10-20", "date": "2022-10-20",
"new": "neodev-nvim" "new": "neodev-nvim"

File diff suppressed because it is too large Load diff

View file

@ -49,12 +49,12 @@
}; };
awk = buildGrammar { awk = buildGrammar {
language = "awk"; language = "awk";
version = "0.0.0+rev=7fef050"; version = "0.0.0+rev=2444262";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Beaglefoot"; owner = "Beaglefoot";
repo = "tree-sitter-awk"; repo = "tree-sitter-awk";
rev = "7fef05082d7aeb4e9dc0d9dca2695056b28ce6a8"; rev = "244426241376b08d9531616290d657106ec8f7ff";
hash = "sha256-2GCcYUFFJT6hjKuAnPC99aSrbziJOVRE5d1TM8VfVrQ="; hash = "sha256-rNQxGMgK9O1wpi1Rdhz/3I210w92AIPAJzEf0v/ICz8=";
}; };
meta.homepage = "https://github.com/Beaglefoot/tree-sitter-awk"; meta.homepage = "https://github.com/Beaglefoot/tree-sitter-awk";
}; };
@ -126,12 +126,12 @@
}; };
c = buildGrammar { c = buildGrammar {
language = "c"; language = "c";
version = "0.0.0+rev=ad09589"; version = "0.0.0+rev=39bea7d";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "tree-sitter"; owner = "tree-sitter";
repo = "tree-sitter-c"; repo = "tree-sitter-c";
rev = "ad095896dd223f1c22b85ac5ec84ab11fb732b07"; rev = "39bea7d391f57c5f0e061419e1c3066e03eb14b3";
hash = "sha256-0SqgOjsSFQkDeJMmF9mAgvbgnm9CCuFTYCUJo4zjCEU="; hash = "sha256-0iE7dRvouBZuVliWCuuM81CBlPndHR+qFEX8UnOSKWg=";
}; };
meta.homepage = "https://github.com/tree-sitter/tree-sitter-c"; meta.homepage = "https://github.com/tree-sitter/tree-sitter-c";
}; };
@ -148,12 +148,12 @@
}; };
cairo = buildGrammar { cairo = buildGrammar {
language = "cairo"; language = "cairo";
version = "0.0.0+rev=02ec146"; version = "0.0.0+rev=6216c6e";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "amaanq"; owner = "amaanq";
repo = "tree-sitter-cairo"; repo = "tree-sitter-cairo";
rev = "02ec1461f11aa126d3c16abb2da284ca3ba15631"; rev = "6216c6ee5e9fc0649c4bd7b1aedd884a55bdd9ef";
hash = "sha256-xtGIywLt+sOx82id3/9Me1WTJam8b9gPJfx+2xo7lgg="; hash = "sha256-D8yAkxaokkdNFLnBDWTa6Xu21ibpVw1A4sd/llh8BKs=";
}; };
meta.homepage = "https://github.com/amaanq/tree-sitter-cairo"; meta.homepage = "https://github.com/amaanq/tree-sitter-cairo";
}; };
@ -170,12 +170,12 @@
}; };
chatito = buildGrammar { chatito = buildGrammar {
language = "chatito"; language = "chatito";
version = "0.0.0+rev=3baf22e"; version = "0.0.0+rev=a945b8e";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "ObserverOfTime"; owner = "ObserverOfTime";
repo = "tree-sitter-chatito"; repo = "tree-sitter-chatito";
rev = "3baf22e7e507cedf15d1dbc03df8afa50a625586"; rev = "a945b8e799dac06c47309f7c2f3b7c385bbee029";
hash = "sha256-NsdkvMkrHfVakeYxPJfr4HOg5BlLB6OPFQeMseQQL/k="; hash = "sha256-U3RY6puadyG4foZVP+1JTI8d1nXUlJ24Q/iiczsxTvc=";
}; };
meta.homepage = "https://github.com/ObserverOfTime/tree-sitter-chatito"; meta.homepage = "https://github.com/ObserverOfTime/tree-sitter-chatito";
}; };
@ -280,12 +280,12 @@
}; };
cuda = buildGrammar { cuda = buildGrammar {
language = "cuda"; language = "cuda";
version = "0.0.0+rev=2af3d43"; version = "0.0.0+rev=0c3dd8d";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "theHamsta"; owner = "theHamsta";
repo = "tree-sitter-cuda"; repo = "tree-sitter-cuda";
rev = "2af3d43cd96dd3f3c3868095222c7f5e2462b3ab"; rev = "0c3dd8d5310076875e64bd224fdac93b6a16838e";
hash = "sha256-ZwinNfhFM1u4qplHOFR8xKphtSjENS+o4u9RUgEnOHg="; hash = "sha256-ZERn1FdQpiiY+Ljt9zlKkkDUkxxGKfSe98a/2MhOr+I=";
}; };
meta.homepage = "https://github.com/theHamsta/tree-sitter-cuda"; meta.homepage = "https://github.com/theHamsta/tree-sitter-cuda";
}; };
@ -347,12 +347,12 @@
}; };
diff = buildGrammar { diff = buildGrammar {
language = "diff"; language = "diff";
version = "0.0.0+rev=f69bde8"; version = "0.0.0+rev=c165725";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "the-mikedavis"; owner = "the-mikedavis";
repo = "tree-sitter-diff"; repo = "tree-sitter-diff";
rev = "f69bde8e56f431863eba2fe4bab23e7d9692855f"; rev = "c165725c28e69b36c5799ff0e458713a844f1aaf";
hash = "sha256-MFVXhnNxmGtqu8Y8ciigu/AIi15maPQjnJduBm7iCQI="; hash = "sha256-qou5ow/Am/qyO0I1j74ojgnBonwmJriLCCeSNpTk7t8=";
}; };
meta.homepage = "https://github.com/the-mikedavis/tree-sitter-diff"; meta.homepage = "https://github.com/the-mikedavis/tree-sitter-diff";
}; };
@ -403,23 +403,23 @@
}; };
elixir = buildGrammar { elixir = buildGrammar {
language = "elixir"; language = "elixir";
version = "0.0.0+rev=2616034"; version = "0.0.0+rev=a2861e8";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "elixir-lang"; owner = "elixir-lang";
repo = "tree-sitter-elixir"; repo = "tree-sitter-elixir";
rev = "2616034f78ffa83ca6a521ebd7eee1868cb5c14c"; rev = "a2861e88a730287a60c11ea9299c033c7d076e30";
hash = "sha256-KY/qeIKWaXUCpA7hbK3ptfCg/cXoISa6mNYB7a0XY18="; hash = "sha256-hBHqQ3eBjknRPJjP+lQJU6NPFhUMtiv4FbKsTw28Bog=";
}; };
meta.homepage = "https://github.com/elixir-lang/tree-sitter-elixir"; meta.homepage = "https://github.com/elixir-lang/tree-sitter-elixir";
}; };
elm = buildGrammar { elm = buildGrammar {
language = "elm"; language = "elm";
version = "0.0.0+rev=73edfcd"; version = "0.0.0+rev=b075803";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "elm-tooling"; owner = "elm-tooling";
repo = "tree-sitter-elm"; repo = "tree-sitter-elm";
rev = "73edfcdc3bb2ddfc731cd5d63e6cb287a18da90d"; rev = "b075803c445191af3cf7dbfdc84efef5f5bbc0f5";
hash = "sha256-0fC3NYHtZQbi9Ca5UAAD9FEXQUJ9z8caf0XQsPpU5Rs="; hash = "sha256-KtijU8ZODsqcNZc4Roh0AILaBWFs+D1cnSUfwQlEx84=";
}; };
meta.homepage = "https://github.com/elm-tooling/tree-sitter-elm"; meta.homepage = "https://github.com/elm-tooling/tree-sitter-elm";
}; };
@ -502,23 +502,23 @@
}; };
foam = buildGrammar { foam = buildGrammar {
language = "foam"; language = "foam";
version = "0.0.0+rev=7ef88a8"; version = "0.0.0+rev=09e0344";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "FoamScience"; owner = "FoamScience";
repo = "tree-sitter-foam"; repo = "tree-sitter-foam";
rev = "7ef88a8c652073785bffd7ce9c3effc68035aa11"; rev = "09e03445f49290450589c5d293610ab39434e3e4";
hash = "sha256-k/m1kz2/9Q15Lt6/hrKolvb29Gl0b/z2oelgkyS1wTM="; hash = "sha256-+ZNLgv0LbXET0WoalAaxo2WjVy0ranPtdOw1CCseqcM=";
}; };
meta.homepage = "https://github.com/FoamScience/tree-sitter-foam"; meta.homepage = "https://github.com/FoamScience/tree-sitter-foam";
}; };
fortran = buildGrammar { fortran = buildGrammar {
language = "fortran"; language = "fortran";
version = "0.0.0+rev=482bdb8"; version = "0.0.0+rev=6828cf3";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "stadelmanma"; owner = "stadelmanma";
repo = "tree-sitter-fortran"; repo = "tree-sitter-fortran";
rev = "482bdb8b8fb7305b928937379820aa6449e359a7"; rev = "6828cf3629addb1706bdbbd33491e95f12b7042c";
hash = "sha256-x2Cm1yUfhlkl8zgbQFPe/IxVNGpX050J3wjsqe7uOW8="; hash = "sha256-/DoXmcNmHvgWvYt4IkHJoDp46xgoHMp+cw1jYEcQCHI=";
}; };
meta.homepage = "https://github.com/stadelmanma/tree-sitter-fortran"; meta.homepage = "https://github.com/stadelmanma/tree-sitter-fortran";
}; };
@ -623,12 +623,12 @@
}; };
gleam = buildGrammar { gleam = buildGrammar {
language = "gleam"; language = "gleam";
version = "0.0.0+rev=2d5d6b0"; version = "0.0.0+rev=8302c98";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "gleam-lang"; owner = "gleam-lang";
repo = "tree-sitter-gleam"; repo = "tree-sitter-gleam";
rev = "2d5d6b001ba12bf1c7ac94679d69ac2bed3151dc"; rev = "8302c98ed78128b22f946fadefaf4af5ba5d5850";
hash = "sha256-9NHjBGvWLxenbD4dDBdWOOT7fVDIvyigilyd/SDtQtE="; hash = "sha256-rWNReuod+P7/Wq+zJoJNo9tWLLpo9Xu7B5MYxjWdp0I=";
}; };
meta.homepage = "https://github.com/gleam-lang/tree-sitter-gleam"; meta.homepage = "https://github.com/gleam-lang/tree-sitter-gleam";
}; };
@ -645,23 +645,23 @@
}; };
glsl = buildGrammar { glsl = buildGrammar {
language = "glsl"; language = "glsl";
version = "0.0.0+rev=34e0657"; version = "0.0.0+rev=e9c49d0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "theHamsta"; owner = "theHamsta";
repo = "tree-sitter-glsl"; repo = "tree-sitter-glsl";
rev = "34e0657e37323874c6b67c718a0f83410c4602cf"; rev = "e9c49d0752d968bc6dcd35d0c3a88397c5d51757";
hash = "sha256-tOIwOy0XmDpDPxLWXZQNqxgoycA03oaqbdp+PxJfn+0="; hash = "sha256-O/RNeoUZEPF8dxQDy41mQvmIyQ29V6MFr7Rgi7g4kDw=";
}; };
meta.homepage = "https://github.com/theHamsta/tree-sitter-glsl"; meta.homepage = "https://github.com/theHamsta/tree-sitter-glsl";
}; };
go = buildGrammar { go = buildGrammar {
language = "go"; language = "go";
version = "0.0.0+rev=8c8007e"; version = "0.0.0+rev=bbaa67a";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "tree-sitter"; owner = "tree-sitter";
repo = "tree-sitter-go"; repo = "tree-sitter-go";
rev = "8c8007eaee47702bb0291a3c7aeb004909baab4d"; rev = "bbaa67a180cfe0c943e50c55130918be8efb20bd";
hash = "sha256-K8mvDoQXSXwyyYQuwEcV6RBTZFbn4OSi7R1nGoQkDQU="; hash = "sha256-G7d8CHCyKDAb9j6ijRfHk/HlgPqSI+uvkuRIRRvjkHI=";
}; };
meta.homepage = "https://github.com/tree-sitter/tree-sitter-go"; meta.homepage = "https://github.com/tree-sitter/tree-sitter-go";
}; };
@ -678,12 +678,12 @@
}; };
gomod = buildGrammar { gomod = buildGrammar {
language = "gomod"; language = "gomod";
version = "0.0.0+rev=4a65743"; version = "0.0.0+rev=f41a273";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "camdencheek"; owner = "camdencheek";
repo = "tree-sitter-go-mod"; repo = "tree-sitter-go-mod";
rev = "4a65743dbc2bb3094114dd2b43da03c820aa5234"; rev = "f41a27386f1cfa1271122db5f0ff59b910520007";
hash = "sha256-znvUD/xqwSUeHCDxwXIgPXiB94bY1wEOjRQSvURcdME="; hash = "sha256-U/kpBEgUqJzJ3qQ40TMBuM1UKI9+HxnFEmmN8FfvS5w=";
}; };
meta.homepage = "https://github.com/camdencheek/tree-sitter-go-mod"; meta.homepage = "https://github.com/camdencheek/tree-sitter-go-mod";
}; };
@ -733,12 +733,12 @@
}; };
hack = buildGrammar { hack = buildGrammar {
language = "hack"; language = "hack";
version = "0.0.0+rev=95e63e7"; version = "0.0.0+rev=2887d39";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "slackhq"; owner = "slackhq";
repo = "tree-sitter-hack"; repo = "tree-sitter-hack";
rev = "95e63e79e0d9f91000bd11d458997fabed1bb1e2"; rev = "2887d3927c5fadebfd71c604922d0c59748e9901";
hash = "sha256-++WvcNWPEs2Ax4KSWaA7sQ1ga2dJVoUnleLkjuQ6tFA="; hash = "sha256-rScvFdoyv0odnAcoKhS+iBaBziV/uaKJa51zPnxMBFQ=";
}; };
meta.homepage = "https://github.com/slackhq/tree-sitter-hack"; meta.homepage = "https://github.com/slackhq/tree-sitter-hack";
}; };
@ -755,12 +755,12 @@
}; };
haskell = buildGrammar { haskell = buildGrammar {
language = "haskell"; language = "haskell";
version = "0.0.0+rev=ba0bfb0"; version = "0.0.0+rev=9970682";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "tree-sitter"; owner = "tree-sitter";
repo = "tree-sitter-haskell"; repo = "tree-sitter-haskell";
rev = "ba0bfb0e5d8e9e31c160d287878c6f26add3ec08"; rev = "99706824b92f162d4e0f47c7e930bbccb367276e";
hash = "sha256-ZSOF0CLOn82GwU3xgvFefmh/AD2j5zz8I0t5YPwfan0="; hash = "sha256-JJvXkunDFRjWoXipxl1o2P+lRIDa4kw/Ys3LUu3piIY=";
}; };
meta.homepage = "https://github.com/tree-sitter/tree-sitter-haskell"; meta.homepage = "https://github.com/tree-sitter/tree-sitter-haskell";
}; };
@ -788,12 +788,12 @@
}; };
heex = buildGrammar { heex = buildGrammar {
language = "heex"; language = "heex";
version = "0.0.0+rev=2e1348c"; version = "0.0.0+rev=9bf4ae4";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "connorlay"; owner = "connorlay";
repo = "tree-sitter-heex"; repo = "tree-sitter-heex";
rev = "2e1348c3cf2c9323e87c2744796cf3f3868aa82a"; rev = "9bf4ae444a8779839ecbca3b6b896dee426b10ae";
hash = "sha256-6LREyZhdTDt3YHVRPDyqCaDXqcsPlHOoMFDb2B3+3xM="; hash = "sha256-ghknZmki1eBSzxY9omZN6wgLpvoJEYXBpvkVxxqLiIc=";
}; };
meta.homepage = "https://github.com/connorlay/tree-sitter-heex"; meta.homepage = "https://github.com/connorlay/tree-sitter-heex";
}; };
@ -810,12 +810,12 @@
}; };
hlsl = buildGrammar { hlsl = buildGrammar {
language = "hlsl"; language = "hlsl";
version = "0.0.0+rev=20c40a3"; version = "0.0.0+rev=d3dc3e3";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "theHamsta"; owner = "theHamsta";
repo = "tree-sitter-hlsl"; repo = "tree-sitter-hlsl";
rev = "20c40a3f1bb68c596f56bb0c0290008b9d4f58dd"; rev = "d3dc3e3cd010d200573eee26421dbdecfd6a6b59";
hash = "sha256-mLcl73XNDjkKUvFixPjW4EAO9y++gpitu7e+oym/Mpc="; hash = "sha256-mdESPOOxwJ1WEuO5No26wfvxsaiIFtQcLsE4m5OkzIQ=";
}; };
meta.homepage = "https://github.com/theHamsta/tree-sitter-hlsl"; meta.homepage = "https://github.com/theHamsta/tree-sitter-hlsl";
}; };
@ -832,12 +832,12 @@
}; };
hoon = buildGrammar { hoon = buildGrammar {
language = "hoon"; language = "hoon";
version = "0.0.0+rev=dfa565f"; version = "0.0.0+rev=900a272";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "urbit-pilled"; owner = "urbit-pilled";
repo = "tree-sitter-hoon"; repo = "tree-sitter-hoon";
rev = "dfa565f87c8997d43cec725d41f023cc3577ca46"; rev = "900a272271cc2fb78f24aa7b5a1e21ed36bb1d39";
hash = "sha256-ogNgjvRRR0KevOlB1PH+cI+HHftq/JrS6pQuIwR5m2A="; hash = "sha256-g2jBCZjsEsWG+LCAGj7b/t5mOET5/mVN39+/HDRUBCk=";
}; };
meta.homepage = "https://github.com/urbit-pilled/tree-sitter-hoon"; meta.homepage = "https://github.com/urbit-pilled/tree-sitter-hoon";
}; };
@ -854,11 +854,11 @@
}; };
htmldjango = buildGrammar { htmldjango = buildGrammar {
language = "htmldjango"; language = "htmldjango";
version = "0.0.0+rev=11e73eb"; version = "0.0.0+rev=717e83a";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "interdependence"; owner = "interdependence";
repo = "tree-sitter-htmldjango"; repo = "tree-sitter-htmldjango";
rev = "11e73ebd8e73356badaad826a0534437b208b6e7"; rev = "717e83aefd328735beeeb671f3f95b2624e70c57";
hash = "sha256-xOWR5Lp9Ggkqmm5rutKrnMNXFASdyn6vPtxcY2mu2zs="; hash = "sha256-xOWR5Lp9Ggkqmm5rutKrnMNXFASdyn6vPtxcY2mu2zs=";
}; };
meta.homepage = "https://github.com/interdependence/tree-sitter-htmldjango"; meta.homepage = "https://github.com/interdependence/tree-sitter-htmldjango";
@ -887,12 +887,12 @@
}; };
ini = buildGrammar { ini = buildGrammar {
language = "ini"; language = "ini";
version = "0.0.0+rev=1a0ce07"; version = "0.0.0+rev=7f11a02";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "justinmk"; owner = "justinmk";
repo = "tree-sitter-ini"; repo = "tree-sitter-ini";
rev = "1a0ce072ebf3afac7d5603d9a95bb7c9a6709b44"; rev = "7f11a02fb8891482068e0fe419965d7bade81a68";
hash = "sha256-pPtKokpTgjoNzPW4dRkOnyzBBJFeJj3+CW3LbHSKsmU="; hash = "sha256-IIpKzpA4q1jpYVZ75VZaxWHaqNt8TA427eMOui2s71M=";
}; };
meta.homepage = "https://github.com/justinmk/tree-sitter-ini"; meta.homepage = "https://github.com/justinmk/tree-sitter-ini";
}; };
@ -920,12 +920,12 @@
}; };
java = buildGrammar { java = buildGrammar {
language = "java"; language = "java";
version = "0.0.0+rev=6c8329e"; version = "0.0.0+rev=e8d1bc4";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "tree-sitter"; owner = "tree-sitter";
repo = "tree-sitter-java"; repo = "tree-sitter-java";
rev = "6c8329e2da78fae78e87c3c6f5788a2b005a4afc"; rev = "e8d1bc4043c1d2326f7ce3aa7b8833c7b18d0560";
hash = "sha256-pAo9hYhlLWjWB/n8nq/MzdMXbzOxcFzfrBCrj8xR/5g="; hash = "sha256-UXTEUb5OyGYRDae52fuSBOiu/6LXIk3s8mt0vl7z2Bw=";
}; };
meta.homepage = "https://github.com/tree-sitter/tree-sitter-java"; meta.homepage = "https://github.com/tree-sitter/tree-sitter-java";
}; };
@ -997,23 +997,23 @@
}; };
jsonnet = buildGrammar { jsonnet = buildGrammar {
language = "jsonnet"; language = "jsonnet";
version = "0.0.0+rev=fdc7757"; version = "0.0.0+rev=af22de3";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "sourcegraph"; owner = "sourcegraph";
repo = "tree-sitter-jsonnet"; repo = "tree-sitter-jsonnet";
rev = "fdc775714afa27fdef823adbaba6ab98f5ae66f2"; rev = "af22de3337abcc01130fc7968014205ed8001b6c";
hash = "sha256-KVpSB3LiC1qpF05Y1ScIglaXWIrAL+m7G4Q4/EVn0U8="; hash = "sha256-DUwWET5HiGAcdzFDfghgHFEj0Octo/gz1Jnpgka1v9Q=";
}; };
meta.homepage = "https://github.com/sourcegraph/tree-sitter-jsonnet"; meta.homepage = "https://github.com/sourcegraph/tree-sitter-jsonnet";
}; };
julia = buildGrammar { julia = buildGrammar {
language = "julia"; language = "julia";
version = "0.0.0+rev=d68ded9"; version = "0.0.0+rev=ab0f70c";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "tree-sitter"; owner = "tree-sitter";
repo = "tree-sitter-julia"; repo = "tree-sitter-julia";
rev = "d68ded9d5131878a2a06211ef0b47b72e70c6c08"; rev = "ab0f70c0a919d38b41822305a8ca80e527c94e4f";
hash = "sha256-vPmZ9oA4t2LtQng88UNWkngwmpf2JLRlPOx/PM5mi80="; hash = "sha256-+rD3kL3nSzdsj/P6pWf5i+XQugZsxUc0vz6JZIk/lr8=";
}; };
meta.homepage = "https://github.com/tree-sitter/tree-sitter-julia"; meta.homepage = "https://github.com/tree-sitter/tree-sitter-julia";
}; };
@ -1030,12 +1030,12 @@
}; };
kotlin = buildGrammar { kotlin = buildGrammar {
language = "kotlin"; language = "kotlin";
version = "0.0.0+rev=2878163"; version = "0.0.0+rev=06a2f6e";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "fwcd"; owner = "fwcd";
repo = "tree-sitter-kotlin"; repo = "tree-sitter-kotlin";
rev = "2878163ee7cad7eaebd3df1729e86610891fe0ee"; rev = "06a2f6e71c7fcac34addcbf2a4667adad1b9c5a7";
hash = "sha256-BRmKlQf78MkK5d2w6J4B5p6Nos+kSon+1M95lOJEkd0="; hash = "sha256-HF3wp4nNwgP0LhZvxQKMnPqMPhwu8Xc9khgiQoy6DeA=";
}; };
meta.homepage = "https://github.com/fwcd/tree-sitter-kotlin"; meta.homepage = "https://github.com/fwcd/tree-sitter-kotlin";
}; };
@ -1107,12 +1107,12 @@
}; };
luap = buildGrammar { luap = buildGrammar {
language = "luap"; language = "luap";
version = "0.0.0+rev=43916b0"; version = "0.0.0+rev=31461ae";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "amaanq"; owner = "amaanq";
repo = "tree-sitter-luap"; repo = "tree-sitter-luap";
rev = "43916b0f31c48a05e03783eb0bab4eec54a4ac75"; rev = "31461ae9bd0866cb5117cfe5de71189854fd0f3e";
hash = "sha256-wu2f9iCByf85/iE6j5slNruYH8GUVD19u/ygJ/yx76U="; hash = "sha256-SW2ubK5317GUc1dQLkhoaisMgctLOwr6TPVYSQh02vE=";
}; };
meta.homepage = "https://github.com/amaanq/tree-sitter-luap"; meta.homepage = "https://github.com/amaanq/tree-sitter-luap";
}; };
@ -1175,12 +1175,12 @@
}; };
matlab = buildGrammar { matlab = buildGrammar {
language = "matlab"; language = "matlab";
version = "0.0.0+rev=1558d8f"; version = "0.0.0+rev=c8723b3";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "acristoffers"; owner = "acristoffers";
repo = "tree-sitter-matlab"; repo = "tree-sitter-matlab";
rev = "1558d8fc85f7810fa567292ad2a7e64913fa78a1"; rev = "c8723b33970deda54257e640779714fb181d4d5f";
hash = "sha256-3FKUGmMM3OeRXkS+izu5yrTgiewp5nHN2352t6sYurU="; hash = "sha256-iSpOB5hnd7iKmuhAzAYYbFgP5MiiD57yvAHHG8PS9HA=";
}; };
meta.homepage = "https://github.com/acristoffers/tree-sitter-matlab"; meta.homepage = "https://github.com/acristoffers/tree-sitter-matlab";
}; };
@ -1310,12 +1310,12 @@
}; };
ocamllex = buildGrammar { ocamllex = buildGrammar {
language = "ocamllex"; language = "ocamllex";
version = "0.0.0+rev=c8f90e4"; version = "0.0.0+rev=4b9898c";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "atom-ocaml"; owner = "atom-ocaml";
repo = "tree-sitter-ocamllex"; repo = "tree-sitter-ocamllex";
rev = "c8f90e42e1b9cf9e30b1669c386b8d9de992d201"; rev = "4b9898ccbf198602bb0dec9cd67cc1d2c0a4fad2";
hash = "sha256-cFzurSuO64PwOuJz1Fa0GTDZ2hnT0dHl4NwQhXWQWIw="; hash = "sha256-YhmEE7I7UF83qMuldHqc/fD/no/7YuZd6CaAIaZ1now=";
}; };
generate = true; generate = true;
meta.homepage = "https://github.com/atom-ocaml/tree-sitter-ocamllex"; meta.homepage = "https://github.com/atom-ocaml/tree-sitter-ocamllex";
@ -1366,34 +1366,34 @@
}; };
pem = buildGrammar { pem = buildGrammar {
language = "pem"; language = "pem";
version = "0.0.0+rev=3662443"; version = "0.0.0+rev=8032882";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "ObserverOfTime"; owner = "ObserverOfTime";
repo = "tree-sitter-pem"; repo = "tree-sitter-pem";
rev = "3662443335bc95bac0168a338b0f29f87162c244"; rev = "8032882300fb7976af769b578b8c798c146bd1a2";
hash = "sha256-J6ktfMcH7umeDaK+r2YRljb+5dwKiXJ7dJazuDoBgno="; hash = "sha256-SH5qUUE/eA9lZ4ZNlvTDvDNjhs2UW8STSbZ2A6YQXU0=";
}; };
meta.homepage = "https://github.com/ObserverOfTime/tree-sitter-pem"; meta.homepage = "https://github.com/ObserverOfTime/tree-sitter-pem";
}; };
perl = buildGrammar { perl = buildGrammar {
language = "perl"; language = "perl";
version = "0.0.0+rev=4a02376"; version = "0.0.0+rev=79e88f6";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "ganezdragon"; owner = "ganezdragon";
repo = "tree-sitter-perl"; repo = "tree-sitter-perl";
rev = "4a023763f54dec0a6f986f5bd238af788a3f0584"; rev = "79e88f64681660f3961939bf764d8f3b4bbb0d27";
hash = "sha256-8mLzXxkc8m69KOQtIT02MCKeTCuwERT3/Kegf48IEls="; hash = "sha256-cadmD6kXhA3TENHhM03+iX2J0+Z0UhHizFiZLnknXLk=";
}; };
meta.homepage = "https://github.com/ganezdragon/tree-sitter-perl"; meta.homepage = "https://github.com/ganezdragon/tree-sitter-perl";
}; };
php = buildGrammar { php = buildGrammar {
language = "php"; language = "php";
version = "0.0.0+rev=d43130f"; version = "0.0.0+rev=d76de26";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "tree-sitter"; owner = "tree-sitter";
repo = "tree-sitter-php"; repo = "tree-sitter-php";
rev = "d43130fd1525301e9826f420c5393a4d169819fc"; rev = "d76de26b8218df208949f46b31e0c422020eda3a";
hash = "sha256-oHUfcuqtFFl+70/uJjE74J1JVV93G9++UaEIntOH5tM="; hash = "sha256-s5oms776eOTkT/tD61ElHCY+pIg7LhnJ3VIyhdHoZWs=";
}; };
meta.homepage = "https://github.com/tree-sitter/tree-sitter-php"; meta.homepage = "https://github.com/tree-sitter/tree-sitter-php";
}; };
@ -1432,12 +1432,12 @@
}; };
poe_filter = buildGrammar { poe_filter = buildGrammar {
language = "poe_filter"; language = "poe_filter";
version = "0.0.0+rev=80dc101"; version = "0.0.0+rev=d7b43b5";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "ObserverOfTime"; owner = "ObserverOfTime";
repo = "tree-sitter-poe-filter"; repo = "tree-sitter-poe-filter";
rev = "80dc10195e26c72598ed1ab02cdf2d8e4c792e7b"; rev = "d7b43b51f92fb19efe8af45c2246087c611c8f63";
hash = "sha256-KDsi8eLrTnZaD9XwyF24edmBNHre3FoTiD7RE/MpvEQ="; hash = "sha256-83gE+dY1ldK5zFcEtqY3zZgk+MMrSA8w5alqp2sa/7Y=";
}; };
meta.homepage = "https://github.com/ObserverOfTime/tree-sitter-poe-filter"; meta.homepage = "https://github.com/ObserverOfTime/tree-sitter-poe-filter";
}; };
@ -1465,34 +1465,34 @@
}; };
promql = buildGrammar { promql = buildGrammar {
language = "promql"; language = "promql";
version = "0.0.0+rev=4b6b9f3"; version = "0.0.0+rev=ed9a12f";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "MichaHoffmann"; owner = "MichaHoffmann";
repo = "tree-sitter-promql"; repo = "tree-sitter-promql";
rev = "4b6b9f399dc58e408c81da8d8fd7e66ab617eef3"; rev = "ed9a12f6ae4e75d4622adef8fb1b1e4d0ac0a759";
hash = "sha256-CaNCxgKL/N6TUcO838iR09tFTYS/kWJLf8whQF/3hAg="; hash = "sha256-pE0cPBB6zuQ2MdjT+kPOqhbTvcOBk5M+JK3leaT7ITE=";
}; };
meta.homepage = "https://github.com/MichaHoffmann/tree-sitter-promql"; meta.homepage = "https://github.com/MichaHoffmann/tree-sitter-promql";
}; };
proto = buildGrammar { proto = buildGrammar {
language = "proto"; language = "proto";
version = "0.0.0+rev=42d82fa"; version = "0.0.0+rev=e9f6b43";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "mitchellh"; owner = "treywood";
repo = "tree-sitter-proto"; repo = "tree-sitter-proto";
rev = "42d82fa18f8afe59b5fc0b16c207ee4f84cb185f"; rev = "e9f6b43f6844bd2189b50a422d4e2094313f6aa3";
hash = "sha256-cX+0YARIa9i8UymPPviyoj+Wh37AFYl9fsoNZMQXPgA="; hash = "sha256-Ue6w6HWy+NTJt+AKTFfJIUf3HXHTwkUkDk4UdDMSD+U=";
}; };
meta.homepage = "https://github.com/mitchellh/tree-sitter-proto"; meta.homepage = "https://github.com/treywood/tree-sitter-proto";
}; };
prql = buildGrammar { prql = buildGrammar {
language = "prql"; language = "prql";
version = "0.0.0+rev=02b1e96"; version = "0.0.0+rev=09e158c";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "PRQL"; owner = "PRQL";
repo = "tree-sitter-prql"; repo = "tree-sitter-prql";
rev = "02b1e967ede00aaa5d7c9fcd4a604b83825a6261"; rev = "09e158cd3650581c0af4c49c2e5b10c4834c8646";
hash = "sha256-3pdfcCfHdusphn7vQX/d1gS5kKyNTE9qf0YBvsa/BjM="; hash = "sha256-bdT7LZ2x7BdUqLJRq4ENJTaIFnciac7l2dCxOSB09CI=";
}; };
meta.homepage = "https://github.com/PRQL/tree-sitter-prql"; meta.homepage = "https://github.com/PRQL/tree-sitter-prql";
}; };
@ -1520,12 +1520,12 @@
}; };
python = buildGrammar { python = buildGrammar {
language = "python"; language = "python";
version = "0.0.0+rev=7c8930b"; version = "0.0.0+rev=5af00f6";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "tree-sitter"; owner = "tree-sitter";
repo = "tree-sitter-python"; repo = "tree-sitter-python";
rev = "7c8930b6388b5590ebef248853f144185a9eda1d"; rev = "5af00f64af6bbf822f208243cce5cf75396fb6f5";
hash = "sha256-6QXMocivEFGrmCFJdxz+z+FsAQ6MBd4kv7719gKO4Gg="; hash = "sha256-2btd/NRE6NuGNlx4cq535OrwtWXihiP3VMCJjPCiDOk=";
}; };
meta.homepage = "https://github.com/tree-sitter/tree-sitter-python"; meta.homepage = "https://github.com/tree-sitter/tree-sitter-python";
}; };
@ -1586,12 +1586,12 @@
}; };
racket = buildGrammar { racket = buildGrammar {
language = "racket"; language = "racket";
version = "0.0.0+rev=92bf637"; version = "0.0.0+rev=7dc4fb6";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "6cdh"; owner = "6cdh";
repo = "tree-sitter-racket"; repo = "tree-sitter-racket";
rev = "92bf6372c63bb413c2d3c1535383d266838d1911"; rev = "7dc4fb60390218b09bc351062eeede7dcdbb4d9f";
hash = "sha256-r/4tT+dPhyQCQfeprISH0E30hUyxSnJHpcVN/VLM6Rw="; hash = "sha256-80BJ12gstc2+SuPqwziOClOzeH9BJflQ39JSqUmutkQ=";
}; };
meta.homepage = "https://github.com/6cdh/tree-sitter-racket"; meta.homepage = "https://github.com/6cdh/tree-sitter-racket";
}; };
@ -1641,12 +1641,12 @@
}; };
robot = buildGrammar { robot = buildGrammar {
language = "robot"; language = "robot";
version = "0.0.0+rev=51b82cf"; version = "0.0.0+rev=5e50f25";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Hubro"; owner = "Hubro";
repo = "tree-sitter-robot"; repo = "tree-sitter-robot";
rev = "51b82cfd0c824681b6a282663820a5ce54243e55"; rev = "5e50f2517580290cd1b9689664815e3b09d986b8";
hash = "sha256-jRLP5LqA/Q3IosK0n5sLJ2SW/wXTo9ia1zpdnos/QN8="; hash = "sha256-5mWRCd9JcTGTuODltbuz7htW/fYjlBTS9HzxrFRj12w=";
}; };
meta.homepage = "https://github.com/Hubro/tree-sitter-robot"; meta.homepage = "https://github.com/Hubro/tree-sitter-robot";
}; };
@ -1663,12 +1663,12 @@
}; };
rst = buildGrammar { rst = buildGrammar {
language = "rst"; language = "rst";
version = "0.0.0+rev=a41a933"; version = "0.0.0+rev=2ca8c12";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "stsewd"; owner = "stsewd";
repo = "tree-sitter-rst"; repo = "tree-sitter-rst";
rev = "a41a933524a54de1ba3ac4f5336b6eeb46deac15"; rev = "2ca8c123c82ca41f41b66b5d13d403cff0204b78";
hash = "sha256-sORX9vzxF6nhmbG5yPgOPvLuhJiKkT5LoA2HgBlKrt0="; hash = "sha256-aCeKxuBRLPYM8CjVLP5cBUhtuAezzZpGfCE2UaJj1E4=";
}; };
meta.homepage = "https://github.com/stsewd/tree-sitter-rst"; meta.homepage = "https://github.com/stsewd/tree-sitter-rst";
}; };
@ -1696,12 +1696,12 @@
}; };
scala = buildGrammar { scala = buildGrammar {
language = "scala"; language = "scala";
version = "0.0.0+rev=8062487"; version = "0.0.0+rev=f14629b";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "tree-sitter"; owner = "tree-sitter";
repo = "tree-sitter-scala"; repo = "tree-sitter-scala";
rev = "8062487fb3b7f3ce1bb7ce1fd1c84bed60c75203"; rev = "f14629b4d53f72356ce8f6d4ac8c54d21b4e74dd";
hash = "sha256-nCmQjLqunccXVgmNUMbMbm6SYuwCRtf1v2CFXrgKXqo="; hash = "sha256-SRj4iF1qS2jEFaIkRfXzAmzG7jKeSzKv5/GdXKbKRjU=";
}; };
meta.homepage = "https://github.com/tree-sitter/tree-sitter-scala"; meta.homepage = "https://github.com/tree-sitter/tree-sitter-scala";
}; };
@ -1719,12 +1719,12 @@
}; };
scheme = buildGrammar { scheme = buildGrammar {
language = "scheme"; language = "scheme";
version = "0.0.0+rev=ca8af22"; version = "0.0.0+rev=af3af6c";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "6cdh"; owner = "6cdh";
repo = "tree-sitter-scheme"; repo = "tree-sitter-scheme";
rev = "ca8af220aaf2a80aaf609bfb0df193817e4f064b"; rev = "af3af6c9356b936f8a515a1e449c32e804c2b1a8";
hash = "sha256-m+ZFC82hWMfP0cRo64mFglS3jdya8DAQfVACNZfRfuM="; hash = "sha256-s9AoMNYnKvzr969aujgwUaVn4WoRaZ5snfFEF73KUGA=";
}; };
meta.homepage = "https://github.com/6cdh/tree-sitter-scheme"; meta.homepage = "https://github.com/6cdh/tree-sitter-scheme";
}; };
@ -1796,12 +1796,12 @@
}; };
sql = buildGrammar { sql = buildGrammar {
language = "sql"; language = "sql";
version = "0.0.0+rev=9fc30c9"; version = "0.0.0+rev=3dfa1b1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "derekstride"; owner = "derekstride";
repo = "tree-sitter-sql"; repo = "tree-sitter-sql";
rev = "9fc30c949f29747d34c254677d039c9df3c521b4"; rev = "3dfa1b1fafac51e3ffc39064eafb26b5111861a2";
hash = "sha256-EyZSbcjbPuaQGpi33YK+hpsod73yifk2hL+MCjn8R9M="; hash = "sha256-sDXYfILv+7/fGIaWp4SOfsjZ67Mi3UPnpt9NEapKZ+M=";
}; };
meta.homepage = "https://github.com/derekstride/tree-sitter-sql"; meta.homepage = "https://github.com/derekstride/tree-sitter-sql";
}; };
@ -1896,15 +1896,14 @@
}; };
t32 = buildGrammar { t32 = buildGrammar {
language = "t32"; language = "t32";
version = "0.0.0+rev=4e581fc"; version = "0.0.0+rev=6da5e3c";
src = fetchFromGitea { src = fetchFromGitLab {
domain = "codeberg.org";
owner = "xasc"; owner = "xasc";
repo = "tree-sitter-t32"; repo = "tree-sitter-t32";
rev = "4e581fcd17d76651aa92759a68f9a8186b9fe8dc"; rev = "6da5e3cbabd376b566d04282005e52ffe67ef74a";
hash = "sha256-SUft3MpM8fSLyojgRs6uaZxWDfoxNvL5Orb7XcrztYo="; hash = "sha256-BRDlNZolMurXpUqnFbS+7ADTcuBthGDYVr6wBn9PIr4=";
}; };
meta.homepage = "https://codeberg.org/xasc/tree-sitter-t32"; meta.homepage = "https://gitlab.com/xasc/tree-sitter-t32.git";
}; };
tablegen = buildGrammar { tablegen = buildGrammar {
language = "tablegen"; language = "tablegen";
@ -2100,12 +2099,12 @@
}; };
verilog = buildGrammar { verilog = buildGrammar {
language = "verilog"; language = "verilog";
version = "0.0.0+rev=22f9b84"; version = "0.0.0+rev=9020313";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "tree-sitter"; owner = "tree-sitter";
repo = "tree-sitter-verilog"; repo = "tree-sitter-verilog";
rev = "22f9b845c77c52b86b21adaebe689864957f4e31"; rev = "902031343056bc0b11f3e47b33f036a9cf59f58d";
hash = "sha256-X3wIZ9AFc6Cxm4E3NYxRRO8vDfVDuSsupkcLhwkf+QI="; hash = "sha256-7yPSblfcfNpJYFc06GT1EYY6WMgj/SaFI3UJqUBsL9c=";
}; };
meta.homepage = "https://github.com/tree-sitter/tree-sitter-verilog"; meta.homepage = "https://github.com/tree-sitter/tree-sitter-verilog";
}; };
@ -2166,23 +2165,23 @@
}; };
wgsl_bevy = buildGrammar { wgsl_bevy = buildGrammar {
language = "wgsl_bevy"; language = "wgsl_bevy";
version = "0.0.0+rev=9e3273e"; version = "0.0.0+rev=a041228";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "theHamsta"; owner = "theHamsta";
repo = "tree-sitter-wgsl-bevy"; repo = "tree-sitter-wgsl-bevy";
rev = "9e3273e64bdd3f74d1514674286838f9075ee9e4"; rev = "a041228ae64632f59b9bd37346a0dbcb7817f36b";
hash = "sha256-bBGunOcFPrHWLsP1ISgdFBNDIBbB0uhwxKAwmQZg7/k="; hash = "sha256-bBGunOcFPrHWLsP1ISgdFBNDIBbB0uhwxKAwmQZg7/k=";
}; };
meta.homepage = "https://github.com/theHamsta/tree-sitter-wgsl-bevy"; meta.homepage = "https://github.com/theHamsta/tree-sitter-wgsl-bevy";
}; };
wing = buildGrammar { wing = buildGrammar {
language = "wing"; language = "wing";
version = "0.0.0+rev=23712ef"; version = "0.0.0+rev=6ae93e3";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "winglang"; owner = "winglang";
repo = "wing"; repo = "wing";
rev = "23712eff9768576bdd852cb9b989a9cd44af014a"; rev = "6ae93e3950b12b6c1b3881e4d347263574222c4e";
hash = "sha256-IWqclJM3CKsgXIy3e6pUrd2iLfIu8QZT2k6eZXRpITA="; hash = "sha256-Ik5RaizsMVF+ObB1HzmwzMdmYzwH1TJ342TXDrKqFFs=";
}; };
location = "libs/tree-sitter-wing"; location = "libs/tree-sitter-wing";
generate = true; generate = true;

View file

@ -883,6 +883,21 @@ self: super: {
dependencies = with self; [ (nvim-treesitter.withPlugins (p: [ p.org ])) ]; dependencies = with self; [ (nvim-treesitter.withPlugins (p: [ p.org ])) ];
}; };
overseer-nvim = super.overseer-nvim.overrideAttrs {
doCheck = true;
checkPhase = ''
runHook preCheck
plugins=.testenv/data/nvim/site/pack/plugins/start
mkdir -p "$plugins"
ln -s ${self.plenary-nvim} "$plugins/plenary.nvim"
bash run_tests.sh
rm -r .testenv
runHook postCheck
'';
};
inherit parinfer-rust; inherit parinfer-rust;
phpactor = buildVimPluginFrom2Nix { phpactor = buildVimPluginFrom2Nix {
@ -932,7 +947,7 @@ self: super: {
pname = "sg-nvim-rust"; pname = "sg-nvim-rust";
inherit (old) version src; inherit (old) version src;
cargoHash = "sha256-bgroNNFRoKiySTC6Rldoy8Unepxd2OXwqcy3fA+CETs="; cargoHash = "sha256-cDlqJBx9p/rA+OAHZW2GcOiQmroU66urZ+qv2lXhg/4=";
nativeBuildInputs = [ pkg-config ]; nativeBuildInputs = [ pkg-config ];
@ -1060,9 +1075,8 @@ self: super: {
svedbackend = stdenv.mkDerivation { svedbackend = stdenv.mkDerivation {
name = "svedbackend-${super.sved.name}"; name = "svedbackend-${super.sved.name}";
inherit (super.sved) src; inherit (super.sved) src;
nativeBuildInputs = [ wrapGAppsHook ]; nativeBuildInputs = [ wrapGAppsHook gobject-introspection ];
buildInputs = [ buildInputs = [
gobject-introspection
glib glib
(python3.withPackages (ps: with ps; [ pygobject3 pynvim dbus-python ])) (python3.withPackages (ps: with ps; [ pygobject3 pynvim dbus-python ]))
]; ];

View file

@ -114,6 +114,7 @@ https://github.com/bbchung/clighter8/,,
https://github.com/ekickx/clipboard-image.nvim/,, https://github.com/ekickx/clipboard-image.nvim/,,
https://github.com/asheq/close-buffers.vim/,HEAD, https://github.com/asheq/close-buffers.vim/,HEAD,
https://github.com/winston0410/cmd-parser.nvim/,, https://github.com/winston0410/cmd-parser.nvim/,,
https://github.com/FelipeLema/cmp-async-path/,HEAD,
https://github.com/crispgm/cmp-beancount/,HEAD, https://github.com/crispgm/cmp-beancount/,HEAD,
https://github.com/hrsh7th/cmp-buffer/,, https://github.com/hrsh7th/cmp-buffer/,,
https://github.com/hrsh7th/cmp-calc/,, https://github.com/hrsh7th/cmp-calc/,,
@ -427,8 +428,7 @@ https://git.sr.ht/~whynothugo/lsp_lines.nvim,,
https://github.com/ray-x/lsp_signature.nvim/,, https://github.com/ray-x/lsp_signature.nvim/,,
https://github.com/lspcontainers/lspcontainers.nvim/,, https://github.com/lspcontainers/lspcontainers.nvim/,,
https://github.com/onsails/lspkind-nvim/,, https://github.com/onsails/lspkind-nvim/,,
https://github.com/tami5/lspsaga.nvim/,, https://github.com/nvimdev/lspsaga.nvim/,,
https://github.com/glepnir/lspsaga.nvim/,main,lspsaga-nvim-original
https://github.com/barreiroleo/ltex_extra.nvim/,HEAD, https://github.com/barreiroleo/ltex_extra.nvim/,HEAD,
https://github.com/arkav/lualine-lsp-progress/,, https://github.com/arkav/lualine-lsp-progress/,,
https://github.com/nvim-lualine/lualine.nvim/,, https://github.com/nvim-lualine/lualine.nvim/,,
@ -646,6 +646,7 @@ https://github.com/Almo7aya/openingh.nvim/,,
https://github.com/salkin-mada/openscad.nvim/,HEAD, https://github.com/salkin-mada/openscad.nvim/,HEAD,
https://github.com/nvim-orgmode/orgmode/,, https://github.com/nvim-orgmode/orgmode/,,
https://github.com/rgroli/other.nvim/,HEAD, https://github.com/rgroli/other.nvim/,HEAD,
https://github.com/stevearc/overseer.nvim/,HEAD,
https://github.com/nyoom-engineering/oxocarbon.nvim/,HEAD, https://github.com/nyoom-engineering/oxocarbon.nvim/,HEAD,
https://github.com/vuki656/package-info.nvim/,, https://github.com/vuki656/package-info.nvim/,,
https://github.com/wbthomason/packer.nvim/,, https://github.com/wbthomason/packer.nvim/,,
@ -691,6 +692,7 @@ https://github.com/theprimeagen/refactoring.nvim/,,
https://github.com/tversteeg/registers.nvim/,, https://github.com/tversteeg/registers.nvim/,,
https://github.com/vladdoster/remember.nvim/,, https://github.com/vladdoster/remember.nvim/,,
https://github.com/filipdutescu/renamer.nvim/,, https://github.com/filipdutescu/renamer.nvim/,,
https://github.com/gabrielpoca/replacer.nvim/,HEAD,
https://github.com/NTBBloodbath/rest.nvim/,, https://github.com/NTBBloodbath/rest.nvim/,,
https://github.com/vim-scripts/restore_view.vim/,HEAD,restore-view-vim https://github.com/vim-scripts/restore_view.vim/,HEAD,restore-view-vim
https://github.com/gu-fan/riv.vim/,, https://github.com/gu-fan/riv.vim/,,

View file

@ -2,7 +2,7 @@
, unzip, libsecret, libXScrnSaver, libxshmfence, buildPackages , unzip, libsecret, libXScrnSaver, libxshmfence, buildPackages
, atomEnv, at-spi2-atk, autoPatchelfHook , atomEnv, at-spi2-atk, autoPatchelfHook
, systemd, fontconfig, libdbusmenu, glib, buildFHSEnv, wayland , systemd, fontconfig, libdbusmenu, glib, buildFHSEnv, wayland
, libglvnd , libglvnd, libkrb5
# Populate passthru.tests # Populate passthru.tests
, tests , tests
@ -15,11 +15,7 @@
, executableName, longName, shortName, pname, updateScript , executableName, longName, shortName, pname, updateScript
, dontFixup ? false , dontFixup ? false
, rev ? null, vscodeServer ? null , rev ? null, vscodeServer ? null
# sourceExecutableName is the name of the binary in the source archive, over
# which we have no control
, sourceExecutableName ? executableName , sourceExecutableName ? executableName
, useVSCodeRipgrep ? false , useVSCodeRipgrep ? false
, ripgrep , ripgrep
}: }:
@ -71,7 +67,7 @@ let
}; };
buildInputs = [ libsecret libXScrnSaver libxshmfence ] buildInputs = [ libsecret libXScrnSaver libxshmfence ]
++ lib.optionals (!stdenv.isDarwin) ([ at-spi2-atk ] ++ atomEnv.packages); ++ lib.optionals (!stdenv.isDarwin) ([ at-spi2-atk libkrb5 ] ++ atomEnv.packages);
runtimeDependencies = lib.optionals stdenv.isLinux [ (lib.getLib systemd) fontconfig.lib libdbusmenu wayland ]; runtimeDependencies = lib.optionals stdenv.isLinux [ (lib.getLib systemd) fontconfig.lib libdbusmenu wayland ];

View file

@ -5,6 +5,12 @@
, nixosTests , nixosTests
, srcOnly , srcOnly
, isInsiders ? false , isInsiders ? false
# sourceExecutableName is the name of the binary in the source archive over
# which we have no control and it is needed to run the insider version as
# documented in https://nixos.wiki/wiki/Visual_Studio_Code#Insiders_Build
# On MacOS the insider binary is still called code instead of code-insiders as
# of 2023-08-06.
, sourceExecutableName ? "code" + lib.optionalString (isInsiders && stdenv.isLinux) "-insiders"
, commandLineArgs ? "" , commandLineArgs ? ""
, useVSCodeRipgrep ? stdenv.isDarwin , useVSCodeRipgrep ? stdenv.isDarwin
}: }:
@ -24,26 +30,26 @@ let
archive_fmt = if stdenv.isDarwin then "zip" else "tar.gz"; archive_fmt = if stdenv.isDarwin then "zip" else "tar.gz";
sha256 = { sha256 = {
x86_64-linux = "05yl6v11ndayz081m3j6dhclj0hshsf0ism7z31hmq6qvfl1sw0k"; x86_64-linux = "0hc1pfrhmdydwgyz3mjp45nmzs101iffam7ciximqmnhf1s1x4qf";
x86_64-darwin = "16x1ppfi3n9gnxg2la2pzj67mlj507879hpqinhpz57dvys421h8"; x86_64-darwin = "1snrr4lsa5qdpdl80wx8ymxp8h1bhd5ablhcgkhzvmj5dh7jrywk";
aarch64-linux = "0m5k9rm14isj9x1j3nw3zvcxxz523396id7yhi8bpncr4ac8a087"; aarch64-linux = "0pm5znbjm79ziwdx37cc75qnbf0jv3yrm2xg7cykavn43gz97abw";
aarch64-darwin = "1kbhf3v71qhw4ql6pp8x5m68lgycjzxzm17c9ri0zn0b86ffp8d3"; aarch64-darwin = "0bq5hvgv228x7vby4475cc65g24kpv9kvj06p6c0y6a2a79j45by";
armv7l-linux = "07lp0schicpnzs52gfbi9y8zfkwxhh92zv29afzy6vxdlqvmrf21"; armv7l-linux = "11gxpqflakp4cwzkpqrwsd6m5fls1vnaigppc4bq9flfknwkjfrx";
}.${system} or throwSystem; }.${system} or throwSystem;
in in
callPackage ./generic.nix rec { callPackage ./generic.nix rec {
# Please backport all compatible updates to the stable release. # Please backport all compatible updates to the stable release.
# This is important for the extension ecosystem. # This is important for the extension ecosystem.
version = "1.80.2"; version = "1.81.0";
pname = "vscode"; pname = "vscode" + lib.optionalString isInsiders "-insiders";
# This is used for VS Code - Remote SSH test # This is used for VS Code - Remote SSH test
rev = "2ccd690cbff1569e4a83d7c43d45101f817401dc"; rev = "6445d93c81ebe42c4cbd7a60712e0b17d9463e97";
executableName = "code" + lib.optionalString isInsiders "-insiders"; executableName = "code" + lib.optionalString isInsiders "-insiders";
longName = "Visual Studio Code" + lib.optionalString isInsiders " - Insiders"; longName = "Visual Studio Code" + lib.optionalString isInsiders " - Insiders";
shortName = "Code" + lib.optionalString isInsiders " - Insiders"; shortName = "Code" + lib.optionalString isInsiders " - Insiders";
inherit commandLineArgs useVSCodeRipgrep; inherit commandLineArgs useVSCodeRipgrep sourceExecutableName;
src = fetchurl { src = fetchurl {
name = "VSCode_${version}_${plat}.${archive_fmt}"; name = "VSCode_${version}_${plat}.${archive_fmt}";
@ -62,7 +68,7 @@ in
src = fetchurl { src = fetchurl {
name = "vscode-server-${rev}.tar.gz"; name = "vscode-server-${rev}.tar.gz";
url = "https://update.code.visualstudio.com/commit:${rev}/server-linux-x64/stable"; url = "https://update.code.visualstudio.com/commit:${rev}/server-linux-x64/stable";
sha256 = "1425bngv0n2xpd7yp9xbmxv95adr9vv0vzy1wvqvgpd8p6h05r7n"; sha256 = "07x9lmkyhra4hplsgdhh97dixsx92i7lab5z5ihs2wqvvzl69ah2";
}; };
}; };

View file

@ -9,19 +9,19 @@ let
# Please make sure to update this when updating citra! # Please make sure to update this when updating citra!
compat-list = fetchurl { compat-list = fetchurl {
name = "citra-compat-list"; name = "citra-compat-list";
url = "https://web.archive.org/web/20230512234055/https://api.citra-emu.org/gamedb/"; url = "https://web.archive.org/web/20230807103651/https://api.citra-emu.org/gamedb/";
hash = "sha256-J+zqtWde5NgK2QROvGewtXGRAWUTNSKHNMG6iu9m1fU="; hash = "sha256-Ma1SXgzhyMHa/MeoYuf8b+QYPjhoQEeKklLbGbkHwEk=";
}; };
in { in {
nightly = qt6Packages.callPackage ./generic.nix rec { nightly = qt6Packages.callPackage ./generic.nix rec {
pname = "citra-nightly"; pname = "citra-nightly";
version = "1907"; version = "1963";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "citra-emu"; owner = "citra-emu";
repo = "citra-nightly"; repo = "citra-nightly";
rev = "nightly-${version}"; rev = "nightly-${version}";
sha256 = "l4pqok42/ybnRX90Qwhcgm2JR4/9C5bbCTk3j4QuWtw="; sha256 = "0ggi1l8327s43xaxs616g0s9vmal6q7vsv69bn07gp71gchhcmyi";
fetchSubmodules = true; fetchSubmodules = true;
}; };
@ -30,13 +30,13 @@ in {
canary = qt6Packages.callPackage ./generic.nix rec { canary = qt6Packages.callPackage ./generic.nix rec {
pname = "citra-canary"; pname = "citra-canary";
version = "2484"; version = "2573";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "citra-emu"; owner = "citra-emu";
repo = "citra-canary"; repo = "citra-canary";
rev = "canary-${version}"; rev = "canary-${version}";
sha256 = "IgCpqt3rKV9IqNstF4QwnJlE3hPH+BkIhaOvEmshh0U="; sha256 = "sha256-tQJ3WcqGcnW9dOiwDrBgL0n3UNp1DGQ/FjCR28Xjdpc=";
fetchSubmodules = true; fetchSubmodules = true;
}; };

View file

@ -8,9 +8,10 @@
, stdenv , stdenv
, fetchFromGitHub , fetchFromGitHub
, cmake , cmake
, boost179 , boost
, pkg-config , pkg-config
, libusb1 , libusb1
, glslang
, zstd , zstd
, libressl , libressl
, enableSdl2 ? true, SDL2 , enableSdl2 ? true, SDL2
@ -31,11 +32,12 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ nativeBuildInputs = [
cmake cmake
glslang
pkg-config pkg-config
] ++ lib.optionals enableQt [ wrapQtAppsHook ]; ] ++ lib.optionals enableQt [ wrapQtAppsHook ];
buildInputs = [ buildInputs = [
boost179 boost
libusb1 libusb1
] ++ lib.optionals enableQt [ qtbase qtmultimedia ] ] ++ lib.optionals enableQt [ qtbase qtmultimedia ]
++ lib.optional enableSdl2 SDL2 ++ lib.optional enableSdl2 SDL2
@ -47,6 +49,7 @@ stdenv.mkDerivation rec {
cmakeFlags = [ cmakeFlags = [
"-DUSE_SYSTEM_BOOST=ON" "-DUSE_SYSTEM_BOOST=ON"
"-DCITRA_WARNINGS_AS_ERRORS=OFF"
"-DCITRA_USE_BUNDLED_FFMPEG=OFF" "-DCITRA_USE_BUNDLED_FFMPEG=OFF"
"-DCITRA_USE_BUNDLED_QT=OFF" "-DCITRA_USE_BUNDLED_QT=OFF"
"-DUSE_SYSTEM_SDL2=ON" "-DUSE_SYSTEM_SDL2=ON"
@ -66,7 +69,9 @@ stdenv.mkDerivation rec {
++ lib.optional useDiscordRichPresence "-DUSE_DISCORD_PRESENCE=ON" ++ lib.optional useDiscordRichPresence "-DUSE_DISCORD_PRESENCE=ON"
++ lib.optional enableFdk "-DENABLE_FDK=ON"; ++ lib.optional enableFdk "-DENABLE_FDK=ON";
postPatch = '' postPatch = with lib; let
branchCaptialized = (lib.toUpper (lib.substring 0 1 branch) + lib.substring 1 (-1) branch);
in ''
# Fix file not found when looking in var/empty instead of opt # Fix file not found when looking in var/empty instead of opt
mkdir externals/dynarmic/src/dynarmic/ir/var mkdir externals/dynarmic/src/dynarmic/ir/var
ln -s ../opt externals/dynarmic/src/dynarmic/ir/var/empty ln -s ../opt externals/dynarmic/src/dynarmic/ir/var/empty
@ -78,6 +83,9 @@ stdenv.mkDerivation rec {
substituteInPlace CMakeLists.txt \ substituteInPlace CMakeLists.txt \
--replace "check_submodules_present()" "" --replace "check_submodules_present()" ""
# Add versions
echo 'set(BUILD_FULLNAME "${branchCaptialized} ${version}")' >> CMakeModules/GenerateBuildInfo.cmake
# Devendoring # Devendoring
rm -rf externals/zstd externals/libressl rm -rf externals/zstd externals/libressl
cp -r ${zstd.src} externals/zstd cp -r ${zstd.src} externals/zstd

View file

@ -44,8 +44,8 @@ updateNightly() {
echo " Successfully fetched. hash: ${NEW_NIGHTLY_HASH}" echo " Successfully fetched. hash: ${NEW_NIGHTLY_HASH}"
sed -i "s/${OLD_NIGHTLY_VERSION}/${NEW_NIGHTLY_VERSION}/" ./default.nix sed -i "s|${OLD_NIGHTLY_VERSION}|${NEW_NIGHTLY_VERSION}|" ./default.nix
sed -i "s/${OLD_NIGHTLY_HASH}/${NEW_NIGHTLY_HASH}/" ./default.nix sed -i "s|${OLD_NIGHTLY_HASH}|${NEW_NIGHTLY_HASH}|" ./default.nix
} }
updateCanary() { updateCanary() {
@ -69,8 +69,8 @@ updateCanary() {
echo " Successfully fetched. hash: ${NEW_CANARY_HASH}" echo " Successfully fetched. hash: ${NEW_CANARY_HASH}"
sed -i "s/${OLD_CANARY_VERSION}/${NEW_CANARY_VERSION}/" ./default.nix sed -i "s|${OLD_CANARY_VERSION}|${NEW_CANARY_VERSION}|" ./default.nix
sed -i "s/${OLD_CANARY_HASH}/${NEW_CANARY_HASH}/" ./default.nix sed -i "s|${OLD_CANARY_HASH}|${NEW_CANARY_HASH}|" ./default.nix
} }
if [[ "$BRANCH" = "nightly" ]]; then if [[ "$BRANCH" = "nightly" ]]; then

View file

@ -20,13 +20,13 @@
stdenv.mkDerivation (finalAttrs: { stdenv.mkDerivation (finalAttrs: {
pname = "openmsx"; pname = "openmsx";
version = "18.0"; version = "19.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "openMSX"; owner = "openMSX";
repo = "openMSX"; repo = "openMSX";
rev = "RELEASE_${builtins.replaceStrings ["."] ["_"] finalAttrs.version}"; rev = "RELEASE_${builtins.replaceStrings ["."] ["_"] finalAttrs.version}";
sha256 = "sha256-4V2B+OQbPVRmkRuqfeqyd+7pz9Z1YISjI79WqZS0Qhc="; sha256 = "sha256-NR0+vOUkbyuVWdHLmKEewDDmR1ibi3dtbSq+6RaxrGo=";
fetchSubmodules = true; fetchSubmodules = true;
}; };

View file

@ -28,13 +28,13 @@
buildDotnetModule rec { buildDotnetModule rec {
pname = "ryujinx"; pname = "ryujinx";
version = "1.1.968"; # Based off of the official github actions builds: https://github.com/Ryujinx/Ryujinx/actions/workflows/release.yml version = "1.1.974"; # Based off of the official github actions builds: https://github.com/Ryujinx/Ryujinx/actions/workflows/release.yml
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Ryujinx"; owner = "Ryujinx";
repo = "Ryujinx"; repo = "Ryujinx";
rev = "487261592eb9e9c31cacd08860f8894027bb1a07"; rev = "5a0aa074b661753d8f0202a73d9f6f3ac6e2ab11";
sha256 = "002qgnh7xb9i9yqm4a3m9m7sbx1iz7ng8k5nnanlq897djs3hy0g"; sha256 = "0f1wivwf7hnsqi7sgqjrikxvakrk8dmywpmyd36a3s5lbk878wp3";
}; };
dotnet-sdk = dotnetCorePackages.sdk_7_0; dotnet-sdk = dotnetCorePackages.sdk_7_0;
@ -113,7 +113,7 @@ buildDotnetModule rec {
install -D ../misc/Logo.svg $out/share/icons/hicolor/scalable/apps/Ryujinx.svg install -D ../misc/Logo.svg $out/share/icons/hicolor/scalable/apps/Ryujinx.svg
substituteInPlace $out/share/applications/Ryujinx.desktop \ substituteInPlace $out/share/applications/Ryujinx.desktop \
--replace "Exec=Ryujinx" "Exec=$out/bin/Ryujinx" --replace "Ryujinx %f" "$out/bin/Ryujinx %f"
ln -s $out/bin/Ryujinx $out/bin/ryujinx ln -s $out/bin/Ryujinx $out/bin/ryujinx

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