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/doc @jtojnar @ryantm
/doc/build-aux/pandoc-filters @jtojnar
/doc/contributing/ @fricklerhandwerk
/doc/contributing/contributing-to-documentation.chapter.md @jtojnar @fricklerhandwerk
# Contributor documentation
/CONTRIBUTING.md @infinisil
/.github/PULL_REQUEST_TEMPLATE.md @infinisil
/doc/contributing/ @fricklerhandwerk @infinisil
/doc/contributing/contributing-to-documentation.chapter.md @jtojnar @fricklerhandwerk @infinisil
# NixOS Internals
/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
# Podman, CRI-O modules and related
/nixos/modules/virtualisation/containers.nix @zowoq @adisbladis
/nixos/modules/virtualisation/cri-o.nix @zowoq @adisbladis
/nixos/modules/virtualisation/podman @zowoq @adisbladis
/nixos/tests/cri-o.nix @zowoq @adisbladis
/nixos/tests/podman @zowoq @adisbladis
/nixos/modules/virtualisation/containers.nix @adisbladis
/nixos/modules/virtualisation/cri-o.nix @adisbladis
/nixos/modules/virtualisation/podman @adisbladis
/nixos/tests/cri-o.nix @adisbladis
/nixos/tests/podman @adisbladis
# Docker tools
/pkgs/build-support/docker @roberth
@ -275,12 +277,6 @@ pkgs/development/python-modules/buildcatrust/ @ajs124 @lukegb @mweinelt
# terraform providers
/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
/pkgs/servers/heisenbridge @piegamesde
/pkgs/servers/matrix-conduit @piegamesde

View file

@ -1,17 +1,31 @@
# Testers {#chap-testers}
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:
```nix
passthru.tests.pkg-config = testers.hasPkgConfigModule {
passthru.tests.pkg-config = testers.hasPkgConfigModules {
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}

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.
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}
```nix
{ lib
, stdenv
, zigHook
, zig_0_11
}:
stdenv.mkDerivation {
# . . .
nativeBuildInputs = [
zigHook
zig_0_11.hook
];
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}
@ -53,7 +53,7 @@ Disables using `zigInstallPhase`.
Controls the flags passed to the install phase.
### Variables honored by zigHook {#variablesHonoredByZigHook}
### Variables honored by zig.hook {#variables-honored-by-zig-hook}
- `prefixKey`
- `dontAddPrefix`

View file

@ -997,13 +997,18 @@ and in this case the `python3` interpreter is automatically used.
### Interpreters {#interpreters}
Versions 2.7, 3.8, 3.9, 3.10 and 3.11 of the CPython interpreter are available
as respectively `python27`, `python38`, `python39`, `python310` and `python311`.
The aliases `python2` and `python3` correspond to respectively `python27` and
`python310`. The attribute `python` maps to `python2`. The PyPy interpreters
compatible with Python 2.7 and 3 are available as `pypy27` and `pypy3`, with
aliases `pypy2` mapping to `pypy27` and `pypy` mapping to `pypy2`. The Nix
expressions for the interpreters can be found in
| Package | Aliases | Interpreter |
|------------|-----------------|-------------|
| python27 | python2, python | CPython 2.7 |
| python38 | | CPython 3.8 |
| python39 | | CPython 3.9 |
| python310 | python3 | CPython 3.10 |
| 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`.
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,
`makeWrapperArgs = ["--set FOO BAR" "--set BAZ QUX"]`.
* `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
to `""`.
defaults to `"python3.8-"` for Python 3.8, etc., and in case of applications to `""`.
* `pipInstallFlags ? []`: A list of strings. Arguments to be passed to `pip
install`. To pass options to `python setup.py install`, use
`--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
in `pythonPath` are not propagated (contrary to `propagatedBuildInputs`).
* `preShellHook`: Hook to execute commands before `shellHook`.
@ -1244,6 +1250,27 @@ with import <nixpkgs> {};
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}
Some packages define optional dependencies for additional features. With
@ -1463,6 +1490,10 @@ are used in `buildPythonPackage`.
- `flitBuildHook` to build a wheel using `flit`.
- `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`.
- `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.
- `pytestCheckHook` to run tests with `pytest`. See [example usage](#using-pytestcheckhook).
- `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 {
# inherit (texlive) whatever-you-want;
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" ]
# there are also other attributes: version, name
}

View file

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

View file

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

View file

@ -425,7 +425,6 @@ with lib.maintainers; {
offline
saschagrunert
srhb
zowoq
];
scope = "Maintain the Kubernetes package and module";
shortName = "Kubernetes";
@ -712,7 +711,6 @@ with lib.maintainers; {
adisbladis
saschagrunert
vdemeester
zowoq
];
githubTeams = [
"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).
- [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).
- [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).
- [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}
- 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 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.
- PHP now defaults to PHP 8.2, updated from 8.1.

View file

@ -97,7 +97,6 @@ in
};
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 = ''
${providerLibPath}
'';

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -71,7 +71,7 @@ in
];
default = "cpu";
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 {
type = types.listOf types.string;
type = types.listOf types.str;
example = [ "192.168.1.2" "192.168.1.3" ];
description = mdDoc ''
IP addresses of the other nodes.

View file

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

View file

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

View file

@ -142,7 +142,7 @@ in {
user = mkOption {
default = "maddy";
type = with types; uniq string;
type = with types; uniq str;
description = lib.mdDoc ''
User account under which maddy runs.
@ -156,7 +156,7 @@ in {
group = mkOption {
default = "maddy";
type = with types; uniq string;
type = with types; uniq str;
description = lib.mdDoc ''
Group account under which maddy runs.
@ -170,7 +170,7 @@ in {
hostname = mkOption {
default = "localhost";
type = with types; uniq string;
type = with types; uniq str;
example = ''example.com'';
description = lib.mdDoc ''
Hostname to use. It should be FQDN.
@ -179,7 +179,7 @@ in {
primaryDomain = mkOption {
default = "localhost";
type = with types; uniq string;
type = with types; uniq str;
example = ''mail.example.com'';
description = lib.mdDoc ''
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;
HOME = cfg.stateDir;
GITEA_WORK_DIR = cfg.stateDir;
GITEA_CUSTOM = cfg.customDir;
};
serviceConfig = {

View file

@ -7,6 +7,7 @@ let
defaultUser = "paperless";
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
enableRedis = !hasAttr "PAPERLESS_REDIS" cfg.extraConfig;
@ -17,6 +18,7 @@ let
PAPERLESS_MEDIA_ROOT = cfg.mediaDir;
PAPERLESS_CONSUMPTION_DIR = cfg.consumptionDir;
PAPERLESS_NLTK_DIR = nltkDir;
PAPERLESS_THUMBNAIL_FONT_NAME = defaultFont;
GUNICORN_CMD_ARGS = "--bind=${cfg.address}:${toString cfg.port}";
} // optionalAttrs (config.time.timeZone != null) {
PAPERLESS_TIME_ZONE = config.time.timeZone;

View file

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

View file

@ -36,6 +36,7 @@ let
"fastly"
"fritzbox"
"graphite"
"idrac"
"influxdb"
"ipmi"
"json"
@ -318,6 +319,14 @@ in
message = ''
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: {
assertion = cfg.${exporter}.firewallFilter != null -> cfg.${exporter}.openFirewall;
message = ''
@ -325,7 +334,12 @@ in
`openFirewall' is set to `true'!
'';
})) ++ 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 {
services.prometheus.exporters.minio.minioAddress = mkDefault "http://localhost:9000";
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.
'';
}
{
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 ];

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
echo "certificate soon to become invalid; backing up old cert"
mkdir -p oldkeys
mv -v ${cfg.providerName}.key oldkeys/${cfg.providerName}-$(date +%F-%T).key
mv -v ${cfg.providerName}.crt oldkeys/${cfg.providerName}-$(date +%F-%T).crt
systemctl restart dnscrypt-wrapper
mv -v "${cfg.providerName}.key" "oldkeys/${cfg.providerName}-$(date +%F-%T).key"
mv -v "${cfg.providerName}.crt" "oldkeys/${cfg.providerName}-$(date +%F-%T).crt"
kill "$(pidof -s dnscrypt-wrapper)"
fi
'';
@ -222,17 +222,6 @@ in {
};
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 = {
description = "dnscrypt-wrapper daemon";
after = [ "network.target" ];
@ -242,7 +231,7 @@ in {
serviceConfig = {
User = "dnscrypt-wrapper";
WorkingDirectory = dataDir;
Restart = "on-failure";
Restart = "always";
ExecStart = "${pkgs.dnscrypt-wrapper}/bin/dnscrypt-wrapper ${toString daemonArgs}";
};
@ -255,7 +244,7 @@ in {
requires = [ "dnscrypt-wrapper.service" ];
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;
serviceConfig.User = "dnscrypt-wrapper";
};

View file

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

View file

@ -27,7 +27,10 @@ let
${cfg.extraConfig}
'';
chronyFlags = [ "-n" "-m" "-u" "chrony" "-f" "${configFile}" ] ++ cfg.extraFlags;
chronyFlags =
[ "-n" "-u" "chrony" "-f" "${configFile}" ]
++ optional cfg.enableMemoryLocking "-m"
++ cfg.extraFlags;
in
{
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 {
type = types.bool;
default = false;

View file

@ -8,6 +8,21 @@ let
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;
phpPackage = cfg.phpPackage.buildEnv {
@ -26,22 +41,13 @@ let
++ optional cfg.caching.memcached memcached
)
++ cfg.phpExtraExtensions all; # Enabled by user
extraConfig = toKeyValue phpOptions;
extraConfig = toKeyValue cfg.phpOptions;
};
toKeyValue = generators.toKeyValue {
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" ''
#! ${pkgs.runtimeShell}
cd ${cfg.package}
@ -136,8 +142,8 @@ in {
default = config.services.nextcloud.home;
defaultText = literalExpression "config.services.nextcloud.home";
description = lib.mdDoc ''
Data storage path of nextcloud. 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).";
Nextcloud's data storage path. Will be [](#opt-services.nextcloud.home) by default.
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";
};
@ -170,8 +176,8 @@ in {
type = types.bool;
default = true;
description = lib.mdDoc ''
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.
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 web user interface or with `nextcloud-occ app:enable`.
'';
};
appstoreEnable = mkOption {
@ -179,16 +185,28 @@ in {
default = null;
example = true;
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).
Set 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 true to force enable the store even if [](#opt-services.nextcloud.extraApps) is used.
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 {
type = types.ints.between 0 4;
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 {
type = types.enum [ "errorlog" "file" "syslog" "systemd" ];
@ -202,7 +220,7 @@ in {
https = mkOption {
type = types.bool;
default = false;
description = lib.mdDoc "Use https for generated links.";
description = lib.mdDoc "Use HTTPS for generated links.";
};
package = mkOption {
type = types.package;
@ -222,7 +240,7 @@ in {
default = "512M";
type = types.str;
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.
'';
};
@ -251,10 +269,10 @@ in {
default = all: [];
defaultText = literalExpression "all: []";
description = lib.mdDoc ''
Additional PHP extensions to use for nextcloud.
By default, only extensions necessary for a vanilla nextcloud installation are enabled,
Additional PHP extensions to use for Nextcloud.
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.
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 ''
all: [ all.pdlib all.bz2 ]
@ -263,22 +281,33 @@ in {
phpOptions = mkOption {
type = types.attrsOf types.str;
default = {
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";
};
defaultText = literalExpression (generators.toPretty { } defaultPHPSettings);
description = lib.mdDoc ''
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;
default = null;
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;
default = false;
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";
defaultText = "localhost";
description = lib.mdDoc ''
Database host or socket path. Defaults to the correct unix socket
instead if `services.nextcloud.database.createLocally` is true and
`services.nextcloud.config.dbtype` is either `pgsql` or `mysql`.
Database host or socket path.
If [](#opt-services.nextcloud.database.createLocally) is true and
[](#opt-services.nextcloud.config.dbtype) is either `pgsql` or `mysql`,
defaults to the correct Unix socket instead.
'';
};
dbport = mkOption {
@ -370,19 +400,23 @@ in {
dbtableprefix = mkOption {
type = types.nullOr types.str;
default = null;
description = lib.mdDoc "Table prefix in Nextcloud database.";
description = lib.mdDoc "Table prefix in Nextcloud's database.";
};
adminuser = mkOption {
type = types.str;
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 {
type = types.str;
description = lib.mdDoc ''
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
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;
default = [];
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
`services.nextcloud.hostname` here.
'';
@ -400,8 +434,8 @@ in {
type = types.listOf types.str;
default = [];
description = lib.mdDoc ''
Trusted proxies, to provide if the nextcloud installation is being
proxied to secure against e.g. spoofing.
Trusted proxies to provide if the Nextcloud installation is being
proxied to secure against, e.g. spoofing.
'';
};
@ -411,10 +445,10 @@ in {
example = "https";
description = lib.mdDoc ''
Force Nextcloud to always use HTTPS i.e. for link generation. Nextcloud
uses the currently used protocol by default, but when behind a reverse-proxy,
it may use `http` for everything although Nextcloud
may be served via HTTPS.
Force Nextcloud to always use HTTP or HTTPS i.e. for link generation.
Nextcloud uses the currently used protocol by default, but when
behind a reverse-proxy, it may use `http` for everything although
Nextcloud may be served via HTTPS.
'';
};
@ -423,16 +457,12 @@ in {
type = types.nullOr types.str;
example = "DE";
description = lib.mdDoc ''
::: {.warning}
This option exists since Nextcloud 21! If older versions are used,
this will throw an eval-error!
:::
An [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html)
country code which replaces automatic phone-number detection
without a country code.
[ISO 3611-1](https://www.iso.org/iso-3166-country-codes.html)
country codes for automatic phone-number detection without a country code.
With e.g. `DE` set, the `+49` can be omitted for
phone-numbers.
As an example, with `DE` set as the default phone region,
the `+49` prefix can be omitted for phone numbers.
'';
};
@ -557,10 +587,10 @@ in {
default = config.services.nextcloud.notify_push.enable;
defaultText = literalExpression "config.services.nextcloud.notify_push.enable";
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}
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;
default = false;
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 {
@ -644,7 +674,7 @@ in {
type = jsonFormat.type;
default = {};
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 '' {
redis = {
@ -661,7 +691,7 @@ in {
type = types.nullOr types.str;
default = null;
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
`{"redis":{"password":"secret"}}`.
'';
@ -695,7 +725,7 @@ in {
A legacy Nextcloud install (from before NixOS ${nixos}) may be installed.
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
(i.e. an upgrade from 16 is possible to 17, but not 16 to 18).
@ -750,6 +780,18 @@ in {
services.nextcloud.phpPackage =
if versionOlder cfg.package.version "26" then pkgs.php81
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 = [

View file

@ -4,38 +4,9 @@ with lib;
let
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
# 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 ''
cp ${config.system.build.bootStage2} $out/prepare-root
substituteInPlace $out/prepare-root --subst-var-by systemConfig $out
@ -83,7 +54,6 @@ let
systemd = config.systemd.package;
kernelParams = config.boot.kernelParams;
nixosLabel = config.system.nixos.label;
inherit (config.system) extraDependencies;

View file

@ -309,6 +309,38 @@ in
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
# (so you don't need to reboot to have changes take effect).
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
{
@ -246,6 +300,14 @@ in
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/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 = {

View file

@ -21,7 +21,7 @@ let
if isAttrs val
then
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
then
# Tests based on make-test-python.nix will return the second lambda
@ -167,6 +167,7 @@ in {
cgit = handleTest ./cgit.nix {};
charliecloud = handleTest ./charliecloud.nix {};
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 {};
cinnamon = handleTest ./cinnamon.nix {};
cjdns = handleTest ./cjdns.nix {};
@ -217,7 +218,7 @@ in {
disable-installer-tools = handleTest ./disable-installer-tools.nix {};
discourse = handleTest ./discourse.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 {};
doas = handleTest ./doas.nix {};
docker = handleTestOn ["aarch64-linux" "x86_64-linux"] ./docker.nix {};
@ -252,6 +253,7 @@ in {
envoy = handleTest ./envoy.nix {};
ergo = handleTest ./ergo.nix {};
ergochat = handleTest ./ergochat.nix {};
eris-server = handleTest ./eris-server.nix {};
esphome = handleTest ./esphome.nix {};
etc = pkgs.callPackage ../modules/system/etc/test.nix { inherit evalMinimalConfig; };
activation = pkgs.callPackage ../modules/system/activation/test.nix { };

View file

@ -22,22 +22,6 @@ import ./make-test-python.nix ({ pkgs, ... }: {
'';
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 = {
services.caddy.extraConfig = ''
http://localhost:8080 {
@ -55,7 +39,6 @@ import ./make-test-python.nix ({ pkgs, ... }: {
testScript = { nodes, ... }:
let
etagSystem = "${nodes.webserver.system.build.toplevel}/specialisation/etag";
justReloadSystem = "${nodes.webserver.system.build.toplevel}/specialisation/config-reload";
multipleConfigs = "${nodes.webserver.system.build.toplevel}/specialisation/multiple-configs";
in
@ -65,33 +48,6 @@ import ./make-test-python.nix ({ pkgs, ... }: {
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"):
webserver.succeed(
"${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";
meta = with pkgs.lib.maintainers; {
maintainers = [ rnhmjoj ];
@ -50,23 +52,23 @@ import ../make-test-python.nix ({ pkgs, ... }: {
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.crt")
almost_expiration = server.succeed("date --date '4days 23 hours 56min'").strip()
with subtest("The client can connect to the server"):
server.wait_for_unit("tinydns")
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"
), "The IP address of 'it.works' does not match 1.2.3.4"
with subtest("The server rotates the ephemeral keys"):
# advance time by a little less than 5 days
server.succeed("date -s \"$(date --date '4 days 6 hours')\"")
client.succeed("date -s \"$(date --date '4 days 6 hours')\"")
server.succeed(f"date -s '{almost_expiration}'")
client.succeed(f"date -s '{almost_expiration}'")
server.wait_for_file("/var/lib/dnscrypt-wrapper/oldkeys")
with subtest("The client can still connect to the server"):
server.wait_for_unit("dnscrypt-wrapper")
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 // {
inherit testsForLinuxPackages;
passthru = {
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;
libvirtd.enable = true;
libvirtd.hooks.qemu.is_working = "${pkgs.writeShellScript "testHook.sh" ''
touch /tmp/qemu_hook_is_working
''}";
};
boot.supportedFilesystems = [ "zfs" ];
networking.hostId = "deadbeef"; # needed for zfs
@ -57,5 +60,9 @@ import ./make-test-python.nix ({ pkgs, ... }: {
virthost.shutdown()
virthost.wait_for_unit("multi-user.target")
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 =
{ pkgs, ... }:
{
environment.systemPackages = with pkgs; [ curl jq ];
environment.systemPackages = with pkgs; [ curl jq netdata ];
services.netdata.enable = true;
};
};
@ -34,5 +34,8 @@ import ./make-test-python.nix ({ pkgs, ...} : {
filter = '[.data[range(10)][.labels | indices("root")[0]]] | add | . > 0'
cmd = f"curl -s {url} | jq -e '{filter}'"
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
grep "$what" graph >$out || true
'';
nextcloudUsesImagick = findInClosure "imagick" nodes.nextcloud.config.system.build.vm;
nextcloudWithoutDoesntUseIt = findInClosure "imagick" nodes.nextcloudWithoutMagick.config.system.build.vm;
nextcloudUsesImagick = findInClosure "imagick" nodes.nextcloud.system.build.vm;
nextcloudWithoutDoesntUseIt = findInClosure "imagick" nodes.nextcloudWithoutMagick.system.build.vm;
in ''
assert open("${nextcloudUsesImagick}").read() != ""
assert open("${nextcloudWithoutDoesntUseIt}").read() == ""

View file

@ -49,8 +49,8 @@ in {
#!${pkgs.runtimeShell}
echo 'bye' | ${withRcloneEnv3} ${pkgs.rclone}/bin/rclone rcat nextcloud:test-shared-file2
'';
openssl1-node = nodes.nextcloudwithopenssl1.config.system.build.toplevel;
openssl3-node = nodes.nextcloudwithopenssl3.config.system.build.toplevel;
openssl1-node = nodes.nextcloudwithopenssl1.system.build.toplevel;
openssl3-node = nodes.nextcloudwithopenssl3.system.build.toplevel;
in ''
nextcloudwithopenssl1.start()
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"):
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(
"convert -size 400x40 xc:white -font 'DejaVu-Sans' -pointsize 20 -fill black "
"-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/")
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"):
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']
assert "2005-10-16" in docs[0]['created']
assert "2005-10-16" in docs[1]['created']
assert "2005-10-16" in docs[2]['created']
# Detects gunicorn issues, see PR #190888
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/"))
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 = {
exporterConfig = {
enable = true;

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -1,13 +1,13 @@
{ lib
, stdenv
, fetchurl
, chromaprint
{
chromaprint
, cmake
, docbook_xml_dtd_45
, docbook_xsl
, fetchurl
, ffmpeg
, flac
, id3lib
, lib
, libogg
, libvorbis
, libxslt
@ -20,18 +20,19 @@
, qtquickcontrols
, qttools
, readline
, stdenv
, taglib
, wrapQtAppsHook
, zlib
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "kid3";
version = "3.9.3";
version = "3.9.4";
src = fetchurl {
url = "https://download.kde.org/stable/${pname}/${version}/${pname}-${version}.tar.xz";
sha256 = "sha256-D2hrdej2Q69AYjDn2Ey4vBSOmzBY3UzZMUdJSRjurdA=";
url = "https://download.kde.org/stable/kid3/${finalAttrs.version}/kid3-${finalAttrs.version}.tar.xz";
hash = "sha256-xBCWDpYiXeChxIiMPqHG3CyiRau2kUdDJtzcPtvWpSA=";
};
nativeBuildInputs = [
@ -42,6 +43,7 @@ stdenv.mkDerivation rec {
python3
wrapQtAppsHook
];
buildInputs = [
chromaprint
ffmpeg
@ -68,9 +70,10 @@ stdenv.mkDerivation rec {
export DOCBOOKDIR="${docbook_xsl}/xml/xsl/docbook/"
'';
meta = with lib; {
homepage = "https://kid3.kde.org/";
meta = {
description = "A simple and powerful audio tag editor";
homepage = "https://kid3.kde.org/";
license = lib.licenses.lgpl2Plus;
longDescription = ''
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
@ -100,8 +103,7 @@ stdenv.mkDerivation rec {
- Edit synchronized lyrics and event timing codes, import and export
LRC files.
'';
license = licenses.lgpl2Plus;
maintainers = [ maintainers.AndersonTorres ];
platforms = platforms.linux;
maintainers = [ lib.maintainers.AndersonTorres ];
platforms = lib.platforms.linux;
};
}
})

View file

@ -1,16 +1,16 @@
{ lib
, python3
, fetchPypi
, python3
}:
python3.pkgs.buildPythonPackage rec {
pname = "ledfx";
version = "2.0.67";
version = "2.0.69";
format = "setuptools";
src = fetchPypi {
inherit pname version;
hash = "sha256-lFxAMjglQZXCySr83PtvStU6hw2ucQu+rSjIHo1yZBk=";
hash = "sha256-gkO6XYiPMkU/zRLvc0yd3jJXVcAgAkR1W1ELTSN461o=";
};
postPatch = ''
@ -52,7 +52,7 @@ python3.pkgs.buildPythonPackage rec {
doCheck = false;
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";
changelog = "https://github.com/LedFx/LedFx/blob/${version}/CHANGELOG.rst";
license = licenses.gpl3Only;

View file

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

View file

@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
buildInputs = [ fftwSinglePrec lv2 ];
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";
license = licenses.gpl2Plus;
maintainers = [ maintainers.goibhniu ];

View file

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

View file

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

View file

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

View file

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

View file

@ -50,6 +50,9 @@ python.pkgs.buildPythonApplication rec {
postPatch = ''
sed -i "/--cov/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 = [

View file

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

View file

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "ergo";
version = "5.0.12";
version = "5.0.13";
src = fetchurl {
url = "https://github.com/ergoplatform/ergo/releases/download/v${version}/ergo-${version}.jar";
sha256 = "sha256-kh0maR7Bl7YbA49vcJOYeglYfvOi7wk4cHQfwOT9qpQ=";
sha256 = "sha256-ZnWiP6Mk6EnrqPT+apSQ0igIEVHy+B8QVbsXRna7up0=";
};
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
version = "1.14.17";
sha256 = "sha256-pYbnEF8MgF7fCBf/MOPT//UCeOQj9tuIkDj8UIVFz3E=";
cargoSha256 = "sha256-n9nuBiKV3FCgq5fJ5BuqIIAp1yZ6IO+zHjrMaUBfgzs=";
version = "1.14.23";
sha256 = "sha256-NUkkLzLNh8P7PFh/SVtd9JM18w3egDaaK80urGw1SSs=";
cargoSha256 = "sha256-7t8Quh6T2MzJWEM5Y50CgCyFfx2ZJRAdCpZyyYvJrt4=";
inherit (darwin.apple_sdk_11_0) Libsystem;
inherit (darwin.apple_sdk_11_0.frameworks) System IOKit AppKit Security;

View file

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

View file

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

View file

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

View file

@ -24,9 +24,9 @@ in stdenv.mkDerivation rec {
};
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
glib-networking libhandy ];

View file

@ -53,6 +53,16 @@ self: let
super = removeAttrs imported [ "dash" ];
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;

View file

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

View file

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

View file

@ -23,10 +23,10 @@ let
docbook2x
docbook-xsl-nons
wrapGAppsHook
gobject-introspection
];
buildInputs = [
gtk3
gobject-introspection
vala gtk-doc
];
});
@ -50,10 +50,10 @@ let
python3
glib
wrapGAppsHook
gobject-introspection
];
buildInputs = [
gtk3
gobject-introspection
vala
gtk-doc
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 {
pname = "neovide";
version = "0.10.4";
version = "0.11.0";
src = fetchFromGitHub {
owner = "neovide";
repo = "neovide";
rev = version;
sha256 = "sha256-0vIq8vJPvcmA7hRyGY4qQRxwmgQAKHVU+452iMohGCA=";
sha256 = "sha256-OIAGqr34QcpYVUTcW+aPoGeBez/VuT6sSFC5JQaodOI=";
};
cargoLock = {
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=";
};
};
cargoSha256 = "sha256-SMix6lKBkje0o+SxTK7AVSd+QbUyTlu4yPZ3bxnpggg=";
SKIA_SOURCE_DIR =
let
@ -49,8 +42,8 @@ rustPlatform.buildRustPackage.override { stdenv = clangStdenv; } rec {
owner = "rust-skia";
repo = "skia";
# see rust-skia:skia-bindings/Cargo.toml#package.metadata skia
rev = "m103-0.51.1";
sha256 = "sha256-w5dw/lGm40gKkHPR1ji/L82Oa808Kuh8qaCeiqBLkLw=";
rev = "m113-0.61.8";
sha256 = "sha256-xGfkc1JLBGQW4WcblFyluZ2paEuisCVPNDU4Rfkv3BE=";
};
# The externals for skia are taken from skia/DEPS
externals = linkFarm "skia-externals" (lib.mapAttrsToList
@ -122,6 +115,6 @@ rustPlatform.buildRustPackage.override { stdenv = clangStdenv; } rec {
homepage = "https://github.com/neovide/neovide";
changelog = "https://github.com/neovide/neovide/releases/tag/${version}";
license = with licenses; [ mit ];
maintainers = with maintainers; [ ck3d ];
maintainers = with maintainers; [ ck3d multisn8 ];
};
}

View file

@ -1,8 +1,8 @@
{
"expat": {
"url": "https://chromium.googlesource.com/external/github.com/libexpat/libexpat.git",
"rev": "a28238bdeebc087071777001245df1876a11f5ee",
"sha256": "sha256-TSaVtKEk7J0fckDvpI6/U5Aq7d37nsixp0Ft7sMHi8w="
"rev": "441f98d02deafd9b090aea568282b28f66a50e36",
"sha256": "sha256-FXTDGAK03jc2wvazhRKqtsFRKZUYS/9HLpZNp4JfZJI="
},
"libjpeg-turbo": {
"url": "https://chromium.googlesource.com/chromium/deps/libjpeg_turbo.git",
@ -21,17 +21,17 @@
},
"harfbuzz": {
"url": "https://chromium.googlesource.com/external/github.com/harfbuzz/harfbuzz.git",
"rev": "8d1b000a3edc90c12267b836b4ef3f81c0e53edc",
"sha256": "sha256-nFAT7HnYkIWZcV6kjDQiRltbPcmbtuRM4m5ecY4/s6E="
"rev": "09a266236147497bd8149240062c31c16fbc81e3",
"sha256": "sha256-NLydUJI15zRBFFDc7VRDXjgc0AwS3l6GMt2usMWOSG4="
},
"wuffs": {
"url": "https://skia.googlesource.com/external/github.com/google/wuffs-mirror-release-c.git",
"rev": "a0041ac0310b3156b963e2f2bea09245f25ec073",
"sha256": "sha256-obRMrrKY3rPdFwQNa5IplpuKqiodHvRC8jbIOjp7R2w="
},
"libpng": {
"url": "https://skia.googlesource.com/third_party/libpng.git",
"rev": "386707c6d19b974ca2e3db7f5c61873813c6fe44",
"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 {
pname = "thonny";
version = "4.0.2";
version = "4.1.1";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = "refs/tags/v${version}";
sha256 = "sha256-TxfpzKAsU/5ble4VzJ+4pokCiyJsdisjmNwWfxOMKzE=";
hash = "sha256-DlizSm5cDvYXQ8Gok+W/RTSaAWJTkdyTQ4uewOiDVXg=";
};
nativeBuildInputs = [ copyDesktopItems ];

View file

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

View file

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

File diff suppressed because it is too large Load diff

View file

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

View file

@ -883,6 +883,21 @@ self: super: {
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;
phpactor = buildVimPluginFrom2Nix {
@ -932,7 +947,7 @@ self: super: {
pname = "sg-nvim-rust";
inherit (old) version src;
cargoHash = "sha256-bgroNNFRoKiySTC6Rldoy8Unepxd2OXwqcy3fA+CETs=";
cargoHash = "sha256-cDlqJBx9p/rA+OAHZW2GcOiQmroU66urZ+qv2lXhg/4=";
nativeBuildInputs = [ pkg-config ];
@ -1060,9 +1075,8 @@ self: super: {
svedbackend = stdenv.mkDerivation {
name = "svedbackend-${super.sved.name}";
inherit (super.sved) src;
nativeBuildInputs = [ wrapGAppsHook ];
nativeBuildInputs = [ wrapGAppsHook gobject-introspection ];
buildInputs = [
gobject-introspection
glib
(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/asheq/close-buffers.vim/,HEAD,
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/hrsh7th/cmp-buffer/,,
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/lspcontainers/lspcontainers.nvim/,,
https://github.com/onsails/lspkind-nvim/,,
https://github.com/tami5/lspsaga.nvim/,,
https://github.com/glepnir/lspsaga.nvim/,main,lspsaga-nvim-original
https://github.com/nvimdev/lspsaga.nvim/,,
https://github.com/barreiroleo/ltex_extra.nvim/,HEAD,
https://github.com/arkav/lualine-lsp-progress/,,
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/nvim-orgmode/orgmode/,,
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/vuki656/package-info.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/vladdoster/remember.nvim/,,
https://github.com/filipdutescu/renamer.nvim/,,
https://github.com/gabrielpoca/replacer.nvim/,HEAD,
https://github.com/NTBBloodbath/rest.nvim/,,
https://github.com/vim-scripts/restore_view.vim/,HEAD,restore-view-vim
https://github.com/gu-fan/riv.vim/,,

View file

@ -2,7 +2,7 @@
, unzip, libsecret, libXScrnSaver, libxshmfence, buildPackages
, atomEnv, at-spi2-atk, autoPatchelfHook
, systemd, fontconfig, libdbusmenu, glib, buildFHSEnv, wayland
, libglvnd
, libglvnd, libkrb5
# Populate passthru.tests
, tests
@ -15,11 +15,7 @@
, executableName, longName, shortName, pname, updateScript
, dontFixup ? false
, rev ? null, vscodeServer ? null
# sourceExecutableName is the name of the binary in the source archive, over
# which we have no control
, sourceExecutableName ? executableName
, useVSCodeRipgrep ? false
, ripgrep
}:
@ -71,7 +67,7 @@ let
};
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 ];

View file

@ -5,6 +5,12 @@
, nixosTests
, srcOnly
, 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 ? ""
, useVSCodeRipgrep ? stdenv.isDarwin
}:
@ -24,26 +30,26 @@ let
archive_fmt = if stdenv.isDarwin then "zip" else "tar.gz";
sha256 = {
x86_64-linux = "05yl6v11ndayz081m3j6dhclj0hshsf0ism7z31hmq6qvfl1sw0k";
x86_64-darwin = "16x1ppfi3n9gnxg2la2pzj67mlj507879hpqinhpz57dvys421h8";
aarch64-linux = "0m5k9rm14isj9x1j3nw3zvcxxz523396id7yhi8bpncr4ac8a087";
aarch64-darwin = "1kbhf3v71qhw4ql6pp8x5m68lgycjzxzm17c9ri0zn0b86ffp8d3";
armv7l-linux = "07lp0schicpnzs52gfbi9y8zfkwxhh92zv29afzy6vxdlqvmrf21";
x86_64-linux = "0hc1pfrhmdydwgyz3mjp45nmzs101iffam7ciximqmnhf1s1x4qf";
x86_64-darwin = "1snrr4lsa5qdpdl80wx8ymxp8h1bhd5ablhcgkhzvmj5dh7jrywk";
aarch64-linux = "0pm5znbjm79ziwdx37cc75qnbf0jv3yrm2xg7cykavn43gz97abw";
aarch64-darwin = "0bq5hvgv228x7vby4475cc65g24kpv9kvj06p6c0y6a2a79j45by";
armv7l-linux = "11gxpqflakp4cwzkpqrwsd6m5fls1vnaigppc4bq9flfknwkjfrx";
}.${system} or throwSystem;
in
callPackage ./generic.nix rec {
# Please backport all compatible updates to the stable release.
# This is important for the extension ecosystem.
version = "1.80.2";
pname = "vscode";
version = "1.81.0";
pname = "vscode" + lib.optionalString isInsiders "-insiders";
# This is used for VS Code - Remote SSH test
rev = "2ccd690cbff1569e4a83d7c43d45101f817401dc";
rev = "6445d93c81ebe42c4cbd7a60712e0b17d9463e97";
executableName = "code" + lib.optionalString isInsiders "-insiders";
longName = "Visual Studio Code" + lib.optionalString isInsiders " - Insiders";
shortName = "Code" + lib.optionalString isInsiders " - Insiders";
inherit commandLineArgs useVSCodeRipgrep;
inherit commandLineArgs useVSCodeRipgrep sourceExecutableName;
src = fetchurl {
name = "VSCode_${version}_${plat}.${archive_fmt}";
@ -62,7 +68,7 @@ in
src = fetchurl {
name = "vscode-server-${rev}.tar.gz";
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!
compat-list = fetchurl {
name = "citra-compat-list";
url = "https://web.archive.org/web/20230512234055/https://api.citra-emu.org/gamedb/";
hash = "sha256-J+zqtWde5NgK2QROvGewtXGRAWUTNSKHNMG6iu9m1fU=";
url = "https://web.archive.org/web/20230807103651/https://api.citra-emu.org/gamedb/";
hash = "sha256-Ma1SXgzhyMHa/MeoYuf8b+QYPjhoQEeKklLbGbkHwEk=";
};
in {
nightly = qt6Packages.callPackage ./generic.nix rec {
pname = "citra-nightly";
version = "1907";
version = "1963";
src = fetchFromGitHub {
owner = "citra-emu";
repo = "citra-nightly";
rev = "nightly-${version}";
sha256 = "l4pqok42/ybnRX90Qwhcgm2JR4/9C5bbCTk3j4QuWtw=";
sha256 = "0ggi1l8327s43xaxs616g0s9vmal6q7vsv69bn07gp71gchhcmyi";
fetchSubmodules = true;
};
@ -30,13 +30,13 @@ in {
canary = qt6Packages.callPackage ./generic.nix rec {
pname = "citra-canary";
version = "2484";
version = "2573";
src = fetchFromGitHub {
owner = "citra-emu";
repo = "citra-canary";
rev = "canary-${version}";
sha256 = "IgCpqt3rKV9IqNstF4QwnJlE3hPH+BkIhaOvEmshh0U=";
sha256 = "sha256-tQJ3WcqGcnW9dOiwDrBgL0n3UNp1DGQ/FjCR28Xjdpc=";
fetchSubmodules = true;
};

View file

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

View file

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

View file

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

View file

@ -28,13 +28,13 @@
buildDotnetModule rec {
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 {
owner = "Ryujinx";
repo = "Ryujinx";
rev = "487261592eb9e9c31cacd08860f8894027bb1a07";
sha256 = "002qgnh7xb9i9yqm4a3m9m7sbx1iz7ng8k5nnanlq897djs3hy0g";
rev = "5a0aa074b661753d8f0202a73d9f6f3ac6e2ab11";
sha256 = "0f1wivwf7hnsqi7sgqjrikxvakrk8dmywpmyd36a3s5lbk878wp3";
};
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
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

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