Skip to content

Commit

Permalink
Merge staging-next into staging
Browse files Browse the repository at this point in the history
  • Loading branch information
github-actions[bot] committed Jan 4, 2024
2 parents 7a5da4f + 065e284 commit 10b0f19
Show file tree
Hide file tree
Showing 268 changed files with 8,597 additions and 1,700 deletions.
6 changes: 6 additions & 0 deletions maintainers/scripts/pluginupdate.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
import json
import logging
import os
import re
import subprocess
import sys
import time
Expand Down Expand Up @@ -192,6 +193,11 @@ def latest_commit(self) -> Tuple[str, datetime]:
with urllib.request.urlopen(commit_req, timeout=10) as req:
self._check_for_redirect(commit_url, req)
xml = req.read()

# Filter out illegal XML characters
illegal_xml_regex = re.compile(b"[\x00-\x08\x0B-\x0C\x0E-\x1F\x7F]")
xml = illegal_xml_regex.sub(b"", xml)

root = ET.fromstring(xml)
latest_entry = root.find(ATOM_ENTRY)
assert latest_entry is not None, f"No commits found in repository {self}"
Expand Down
2 changes: 2 additions & 0 deletions nixos/doc/manual/release-notes/rl-2405.section.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,8 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m

- Invidious has changed its default database username from `kemal` to `invidious`. Setups involving an externally provisioned database (i.e. `services.invidious.database.createLocally == false`) should adjust their configuration accordingly. The old `kemal` user will not be removed automatically even when the database is provisioned automatically.(https://github.com/NixOS/nixpkgs/pull/265857)

- `paperless`' `services.paperless.extraConfig` setting has been removed and converted to the freeform type and option named `services.paperless.settings`.

- `mkosi` was updated to v19. Parts of the user interface have changed. Consult the
[release notes](https://github.com/systemd/mkosi/releases/tag/v19) for a list of changes.

Expand Down
47 changes: 24 additions & 23 deletions nixos/modules/services/misc/paperless.nix
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ let
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;
enableRedis = !(cfg.settings ? PAPERLESS_REDIS);
redisServer = config.services.redis.servers.paperless;

env = {
Expand All @@ -24,9 +24,11 @@ let
PAPERLESS_TIME_ZONE = config.time.timeZone;
} // optionalAttrs enableRedis {
PAPERLESS_REDIS = "unix://${redisServer.unixSocket}";
} // (
lib.mapAttrs (_: toString) cfg.extraConfig
);
} // (lib.mapAttrs (_: s:
if (lib.isAttrs s || lib.isList s) then builtins.toJSON s
else if lib.isBool s then lib.boolToString s
else toString s
) cfg.settings);

manage = pkgs.writeShellScript "manage" ''
set -o allexport # Export the following env vars
Expand Down Expand Up @@ -82,6 +84,7 @@ in

imports = [
(mkRenamedOptionModule [ "services" "paperless-ng" ] [ "services" "paperless" ])
(mkRenamedOptionModule [ "services" "paperless" "extraConfig" ] [ "services" "paperless" "settings" ])
];

options.services.paperless = {
Expand Down Expand Up @@ -160,32 +163,30 @@ in
description = lib.mdDoc "Web interface port.";
};

# FIXME this should become an RFC42-style settings attr
extraConfig = mkOption {
type = types.attrs;
settings = mkOption {
type = lib.types.submodule {
freeformType = with lib.types; attrsOf (let
typeList = [ bool float int str path package ];
in oneOf (typeList ++ [ (listOf (oneOf typeList)) (attrsOf (oneOf typeList)) ]));
};
default = { };
description = lib.mdDoc ''
Extra paperless config options.
See [the documentation](https://docs.paperless-ngx.com/configuration/)
for available options.
See [the documentation](https://docs.paperless-ngx.com/configuration/) for available options.
Note that some options such as `PAPERLESS_CONSUMER_IGNORE_PATTERN` expect JSON values. Use `builtins.toJSON` to ensure proper quoting.
Note that some settings such as `PAPERLESS_CONSUMER_IGNORE_PATTERN` expect JSON values.
Settings declared as lists or attrsets will automatically be serialised into JSON strings for your convenience.
'';
example = literalExpression ''
{
PAPERLESS_OCR_LANGUAGE = "deu+eng";
PAPERLESS_DBHOST = "/run/postgresql";
PAPERLESS_CONSUMER_IGNORE_PATTERN = builtins.toJSON [ ".DS_STORE/*" "desktop.ini" ];
PAPERLESS_OCR_USER_ARGS = builtins.toJSON {
optimize = 1;
pdfa_image_compression = "lossless";
};
example = {
PAPERLESS_OCR_LANGUAGE = "deu+eng";
PAPERLESS_DBHOST = "/run/postgresql";
PAPERLESS_CONSUMER_IGNORE_PATTERN = [ ".DS_STORE/*" "desktop.ini" ];
PAPERLESS_OCR_USER_ARGS = {
optimize = 1;
pdfa_image_compression = "lossless";
};
'';
};
};

user = mkOption {
Expand Down
56 changes: 34 additions & 22 deletions nixos/modules/services/network-filesystems/eris-server.nix
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
let
cfg = config.services.eris-server;
stateDirectoryPath = "\${STATE_DIRECTORY}";
nullOrStr = with lib.types; nullOr str;
in {

options.services.eris-server = {
Expand All @@ -26,7 +27,7 @@ in {
};

listenCoap = lib.mkOption {
type = lib.types.str;
type = nullOrStr;
default = ":5683";
example = "[::1]:5683";
description = ''
Expand All @@ -39,8 +40,8 @@ in {
};

listenHttp = lib.mkOption {
type = lib.types.str;
default = "";
type = nullOrStr;
default = null;
example = "[::1]:8080";
description = "Server HTTP listen address. Do not listen by default.";
};
Expand All @@ -58,8 +59,8 @@ in {
};

mountpoint = lib.mkOption {
type = lib.types.str;
default = "";
type = nullOrStr;
default = null;
example = "/eris";
description = ''
Mountpoint for FUSE namespace that exposes "urn:eris:…" files.
Expand All @@ -69,33 +70,44 @@ in {
};

config = lib.mkIf cfg.enable {
assertions = [{
assertion = lib.strings.versionAtLeast cfg.package.version "20231219";
message =
"Version of `config.services.eris-server.package` is incompatible with this module";
}];

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}";
cmd = "${cfg.package}/bin/eris-go server"
+ (lib.optionalString (cfg.listenCoap != null)
" --coap '${cfg.listenCoap}'")
+ (lib.optionalString (cfg.listenHttp != null)
" --http '${cfg.listenHttp}'")
+ (lib.optionalString cfg.decode " --decode")
+ (lib.optionalString (cfg.mountpoint != null)
" --mountpoint '${cfg.mountpoint}'");
in {
description = "ERIS block server";
after = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
script = lib.mkIf (cfg.mountpoint != "") ''
environment.ERIS_STORE_URL = toString cfg.backends;
script = lib.mkIf (cfg.mountpoint != null) ''
export PATH=${config.security.wrapperDir}:$PATH
${cmd}
'';
serviceConfig = let
umounter = lib.mkIf (cfg.mountpoint != "")
umounter = lib.mkIf (cfg.mountpoint != null)
"-${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";
};
in if (cfg.mountpoint == null) then {
ExecStart = cmd;
} else
{
ExecStartPre = umounter;
ExecStopPost = umounter;
} // {
Restart = "always";
RestartSec = 20;
AmbientCapabilities = "CAP_NET_BIND_SERVICE";
};
};
};

Expand Down
2 changes: 1 addition & 1 deletion nixos/modules/services/system/zram-generator.nix
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ in

config = lib.mkIf cfg.enable {
system.requiredKernelConfig = with config.lib.kernelConfig; [
(isModule "ZRAM")
(isEnabled "ZRAM")
];

systemd.packages = [ cfg.package ];
Expand Down
6 changes: 3 additions & 3 deletions nixos/modules/services/x11/hardware/libinput.nix
Original file line number Diff line number Diff line change
Expand Up @@ -130,9 +130,9 @@ let cfg = config.services.xserver.libinput;
default = true;
description =
lib.mdDoc ''
Disables horizontal scrolling. When disabled, this driver will discard any horizontal scroll
events from libinput. Note that this does not disable horizontal scrolling, it merely
discards the horizontal axis from any scroll events.
Enables or disables horizontal scrolling. When disabled, this driver will discard any
horizontal scroll events from libinput. This does not disable horizontal scroll events
from libinput; it merely discards the horizontal axis from any scroll events.
'';
};

Expand Down
4 changes: 2 additions & 2 deletions pkgs/applications/audio/abcde/default.nix
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{ lib, stdenv, fetchurl, libcdio-paranoia, cddiscid, wget, which, vorbis-tools, id3v2, eyeD3
{ lib, stdenv, fetchurl, libcdio-paranoia, cddiscid, wget, which, vorbis-tools, id3v2, eyed3
, lame, flac, glyr
, perlPackages
, makeWrapper }:
Expand Down Expand Up @@ -40,7 +40,7 @@ in
--prefix PERL5LIB : "$PERL5LIB" \
--prefix PATH ":" ${lib.makeBinPath [
"$out" which libcdio-paranoia cddiscid wget
vorbis-tools id3v2 eyeD3 lame flac glyr
vorbis-tools id3v2 eyed3 lame flac glyr
]}
done
'';
Expand Down
2 changes: 1 addition & 1 deletion pkgs/applications/audio/eartag/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ python3Packages.buildPythonApplication rec {

propagatedBuildInputs = with python3Packages; [
pygobject3
eyeD3
eyed3
pillow
mutagen
pytaglib
Expand Down
2 changes: 1 addition & 1 deletion pkgs/applications/audio/gpodder/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ python3Packages.buildPythonApplication rec {
mygpoclient
requests
pygobject3
eyeD3
eyed3
podcastparser
html5lib
mutagen
Expand Down
4 changes: 2 additions & 2 deletions pkgs/applications/audio/yoshimi/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -22,13 +22,13 @@

stdenv.mkDerivation rec {
pname = "yoshimi";
version = "2.3.1";
version = "2.3.1.3";

src = fetchFromGitHub {
owner = "Yoshimi";
repo = pname;
rev = version;
hash = "sha256-NMgy/ucuSRFX2zlO8GhL4QSP4NZo1QKZJYTc2eXzWUA=";
hash = "sha256-G4XLRYFndXW6toRyL7n1xV1ueGKVnkY1NgtpzaZ8h+I=";
};

sourceRoot = "${src.name}/src";
Expand Down
4 changes: 2 additions & 2 deletions pkgs/applications/blockchains/exodus/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -27,13 +27,13 @@

stdenv.mkDerivation rec {
pname = "exodus";
version = "23.12.7";
version = "23.12.21";

src = fetchurl {
name = "exodus-linux-x64-${version}.zip";
url = "https://downloads.exodus.com/releases/${pname}-linux-x64-${version}.zip";
curlOptsList = [ "--user-agent" "Mozilla/5.0" ];
sha256 = "sha256-qx0p+4jAuv2koaOuEgQ42jpJ5HysRX81PPrMOWp2Snw=";
sha256 = "sha256-sQKbwrnq/hSkeF99KA3cIA757IMr1g3xfe7FsgtyvOA=";
};

nativeBuildInputs = [ unzip ];
Expand Down
4 changes: 2 additions & 2 deletions pkgs/applications/blockchains/wasabiwallet/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,11 @@ let
in
stdenv.mkDerivation rec {
pname = "wasabiwallet";
version = "2.0.4";
version = "2.0.5";

src = fetchurl {
url = "https://github.com/zkSNACKs/WalletWasabi/releases/download/v${version}/Wasabi-${version}.tar.gz";
sha256 = "sha256-VYyf9rKBRPpnxuaeO6aAq7cQwDfBRLRbH4SlPS+bxFQ=";
sha256 = "sha256-1AgX+Klw/IsRRBV2M1OkLGE4DPqq6hX2h72RNzad2DM=";
};

dontBuild = true;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@ in

control-lock = callPackage ./manual-packages/control-lock { };

copilot = callPackage ./manual-packages/copilot { };

ebuild-mode = callPackage ./manual-packages/ebuild-mode { };

el-easydraw = callPackage ./manual-packages/el-easydraw { };
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
{
dash,
editorconfig,
fetchFromGitHub,
nodejs,
s,
trivialBuild,
}:
trivialBuild {
pname = "copilot";
version = "unstable-2023-12-26";
src = fetchFromGitHub {
owner = "zerolfx";
repo = "copilot.el";
rev = "d4fa14cea818e041b4a536c5052cf6d28c7223d7";
sha256 = "sha256-Tzs0Dawqa+OD0RSsf66ORbH6MdBp7BMXX7z+5UuNwq4=";
};
packageRequires = [
dash
editorconfig
nodejs
s
];
postInstall = ''
cp -r $src/dist $LISPDIR
'';

meta = {
description = "An unofficial copilot plugin for Emacs";
homepage = "https://github.com/zerolfx/copilot.el";
platforms = [
"x86_64-darwin"
"x86_64-linux"
"x86_64-windows"
];
};
}
12 changes: 12 additions & 0 deletions pkgs/applications/editors/vim/plugins/generated.nix
Original file line number Diff line number Diff line change
Expand Up @@ -16359,5 +16359,17 @@ final: prev:
meta.homepage = "https://github.com/jhradilek/vim-snippets/";
};

roslyn-nvim = buildVimPlugin {
pname = "roslyn-nvim";
version = "2023-12-12";
src = fetchFromGitHub {
owner = "jmederosalvarado";
repo = "roslyn.nvim";
rev = "3e360ea5a15f3cf7ddef02ff003ef24244cdff3a";
sha256 = "sha256-0mvlEE3/qGkv2dLzthWwGgdVTmp2Y/WJLv9ihcPumBo=";
};
meta.homepage = "https://github.com/jmederosalvarado/roslyn.nvim/";
};


}
Loading

0 comments on commit 10b0f19

Please sign in to comment.