diff options
47 files changed, 277 insertions, 98 deletions
diff --git a/.github/workflows/editorconfig.yml b/.github/workflows/editorconfig.yml index 081bd6146af1..ae411fefbe47 100644 --- a/.github/workflows/editorconfig.yml +++ b/.github/workflows/editorconfig.yml @@ -11,7 +11,7 @@ on: jobs: tests: runs-on: ubuntu-latest - if: "github.repository_owner == 'NixOS' && !contains(github.event.pull_request.title, '[skip editorconfig]')" + if: "github.repository_owner == 'NixOS' && !contains(github.event.pull_request.title, '[skip treewide]')" steps: - name: Get list of changed files from PR env: diff --git a/.github/workflows/labels.yml b/.github/workflows/labels.yml index 5f949ddc56b1..35f5f24ce309 100644 --- a/.github/workflows/labels.yml +++ b/.github/workflows/labels.yml @@ -16,7 +16,7 @@ permissions: jobs: labels: runs-on: ubuntu-latest - if: github.repository_owner == 'NixOS' + if: "github.repository_owner == 'NixOS' && !contains(github.event.pull_request.title, '[skip treewide]')" steps: - uses: actions/labeler@v4 with: diff --git a/nixos/doc/manual/from_md/release-notes/rl-2305.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2305.section.xml index 9a59fcb0a2c1..6cafb6dd421f 100644 --- a/nixos/doc/manual/from_md/release-notes/rl-2305.section.xml +++ b/nixos/doc/manual/from_md/release-notes/rl-2305.section.xml @@ -85,6 +85,14 @@ </listitem> <listitem> <para> + <link xlink:href="https://github.com/slurdge/goeland">goeland</link>, + an alternative to rss2email written in golang with many + filters. Available as + <link linkend="opt-services.goeland.enable">services.goeland</link>. + </para> + </listitem> + <listitem> + <para> <link xlink:href="https://github.com/ellie/atuin">atuin</link>, a sync server for shell history. Available as <link linkend="opt-services.atuin.enable">services.atuin</link>. diff --git a/nixos/doc/manual/release-notes/rl-2305.section.md b/nixos/doc/manual/release-notes/rl-2305.section.md index d9edd64f42c1..8c25eae45588 100644 --- a/nixos/doc/manual/release-notes/rl-2305.section.md +++ b/nixos/doc/manual/release-notes/rl-2305.section.md @@ -30,6 +30,8 @@ In addition to numerous new and upgraded packages, this release has the followin - [stevenblack-blocklist](https://github.com/StevenBlack/hosts), A unified hosts file with base extensions for blocking unwanted websites. Available as [networking.stevenblack](options.html#opt-networking.stevenblack.enable). +- [goeland](https://github.com/slurdge/goeland), an alternative to rss2email written in golang with many filters. Available as [services.goeland](#opt-services.goeland.enable). + - [atuin](https://github.com/ellie/atuin), a sync server for shell history. Available as [services.atuin](#opt-services.atuin.enable). - [mmsd](https://gitlab.com/kop316/mmsd), a lower level daemon that transmits and recieves MMSes. Available as [services.mmsd](#opt-services.mmsd.enable). diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index dce6e878540d..45a7acdedc41 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -530,6 +530,7 @@ ./services/mail/dovecot.nix ./services/mail/dspam.nix ./services/mail/exim.nix + ./services/mail/goeland.nix ./services/mail/listmonk.nix ./services/mail/maddy.nix ./services/mail/mail.nix diff --git a/nixos/modules/services/mail/goeland.nix b/nixos/modules/services/mail/goeland.nix new file mode 100644 index 000000000000..13092a65ed90 --- /dev/null +++ b/nixos/modules/services/mail/goeland.nix @@ -0,0 +1,74 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.goeland; + tomlFormat = pkgs.formats.toml { }; +in +{ + options.services.goeland = { + enable = mkEnableOption (mdDoc "goeland"); + + settings = mkOption { + description = mdDoc '' + Configuration of goeland. + See the [example config file](https://github.com/slurdge/goeland/blob/master/cmd/asset/config.default.toml) for the available options. + ''; + default = { }; + type = tomlFormat.type; + }; + schedule = mkOption { + type = types.str; + default = "12h"; + example = "Mon, 00:00:00"; + description = mdDoc "How often to run goeland, in systemd time format."; + }; + stateDir = mkOption { + type = types.path; + default = "/var/lib/goeland"; + description = mdDoc '' + The data directory for goeland where the database will reside if using the unseen filter. + If left as the default value this directory will automatically be created before the goeland + server starts, otherwise you are responsible for ensuring the directory exists with + appropriate ownership and permissions. + ''; + }; + }; + + config = mkIf cfg.enable { + services.goeland.settings.database = "${cfg.stateDir}/goeland.db"; + + systemd.services.goeland = { + serviceConfig = let confFile = tomlFormat.generate "config.toml" cfg.settings; in mkMerge [ + { + ExecStart = "${pkgs.goeland}/bin/goeland run -c ${confFile}"; + User = "goeland"; + Group = "goeland"; + } + (mkIf (cfg.stateDir == "/var/lib/goeland") { + StateDirectory = "goeland"; + StateDirectoryMode = "0750"; + }) + ]; + startAt = cfg.schedule; + }; + + users.users.goeland = { + description = "goeland user"; + group = "goeland"; + isSystemUser = true; + }; + users.groups.goeland = { }; + + warnings = optionals (hasAttr "password" cfg.settings.email) [ + '' + It is not recommended to set the "services.goeland.settings.email.password" + option as it will be in cleartext in the Nix store. + Please use "services.goeland.settings.email.password_file" instead. + '' + ]; + }; + + meta.maintainers = with maintainers; [ sweenu ]; +} diff --git a/nixos/tests/ceph-single-node.nix b/nixos/tests/ceph-single-node.nix index 4fe5dc59ff8f..4a5636fac156 100644 --- a/nixos/tests/ceph-single-node.nix +++ b/nixos/tests/ceph-single-node.nix @@ -181,6 +181,17 @@ let monA.wait_until_succeeds("ceph osd stat | grep -e '3 osds: 3 up[^,]*, 3 in'") monA.wait_until_succeeds("ceph -s | grep 'mgr: ${cfg.monA.name}(active,'") monA.wait_until_succeeds("ceph -s | grep 'HEALTH_OK'") + + # Enable the dashboard and recheck health + monA.succeed( + "ceph mgr module enable dashboard", + "ceph config set mgr mgr/dashboard/ssl false", + # default is 8080 but it's better to be explicit + "ceph config set mgr mgr/dashboard/server_port 8080", + ) + monA.wait_for_open_port(8080) + monA.wait_until_succeeds("curl -q --fail http://localhost:8080") + monA.wait_until_succeeds("ceph -s | grep 'HEALTH_OK'") ''; in { name = "basic-single-node-ceph-cluster"; diff --git a/pkgs/applications/networking/cluster/crc/default.nix b/pkgs/applications/networking/cluster/crc/default.nix index 825b20339373..ed4e2b0583f8 100644 --- a/pkgs/applications/networking/cluster/crc/default.nix +++ b/pkgs/applications/networking/cluster/crc/default.nix @@ -10,15 +10,15 @@ }: let - openShiftVersion = "4.11.13"; + openShiftVersion = "4.11.18"; okdVersion = "4.11.0-0.okd-2022-11-05-030711"; podmanVersion = "4.2.0"; writeKey = "cvpHsNcmGCJqVzf6YxrSnVlwFSAZaYtp"; in buildGoModule rec { - version = "2.11.0"; + version = "2.12.0"; pname = "crc"; - gitCommit = "a5f90a25abcacd4aa334490f0d204329abeaa691"; + gitCommit = "ea98bb41e24ad81a319d0aa6c6e1286bc1334c1b"; modRoot = "cmd/crc"; src = fetchFromGitHub { @@ -63,6 +63,7 @@ buildGoModule rec { crc version ''; }; + passthru.updateScript = ./update.sh; meta = with lib; { description = "Manages a local OpenShift 4.x cluster or a Podman VM optimized for testing and development purposes"; diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json index b934ba3cd247..3ddccd2f48b2 100644 --- a/pkgs/applications/networking/cluster/terraform-providers/providers.json +++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json @@ -75,13 +75,13 @@ "vendorHash": "sha256-DqAHkNxfI1txtW9PadHzgWuRCiuV/CVqq/qba+e0O7M=" }, "argocd": { - "hash": "sha256-8gyNJrRmrLev53dmMMjpZ3COTwPg5FYaxYBgkrdAWXo=", + "hash": "sha256-FDI/kmgTWVhxJcy3ss8VABntOXJAIDIcz4cB6WtJd2Y=", "homepage": "https://registry.terraform.io/providers/oboukili/argocd", "owner": "oboukili", "repo": "terraform-provider-argocd", - "rev": "v4.2.0", + "rev": "v4.3.0", "spdx": "MPL-2.0", - "vendorHash": "sha256-U88K2CZcN7xh1rPmkZpbRWgj3+lPKN7hkB9T60jR1JQ=" + "vendorHash": "sha256-99PwwxVHfRGC0QCQGhifRzqWFOHZ1R7Ge2ou7OjiggQ=" }, "auth0": { "hash": "sha256-BlMYx6Ockk8YpiA0wCu2tBwhUIznFJ9b4knSeKA6M/g=", @@ -130,11 +130,11 @@ "vendorHash": null }, "azurerm": { - "hash": "sha256-gWB1pZSv/lv5ZedPQIbcis5QA3g8JTIFeADh+Qte/rk=", + "hash": "sha256-dD2o0b5JQ1bZIBFshe+JkfkO5C0a3OvUwfrO2dgIiO8=", "homepage": "https://registry.terraform.io/providers/hashicorp/azurerm", "owner": "hashicorp", "repo": "terraform-provider-azurerm", - "rev": "v3.39.1", + "rev": "v3.40.0", "spdx": "MPL-2.0", "vendorHash": null }, @@ -167,11 +167,11 @@ "vendorHash": null }, "bitbucket": { - "hash": "sha256-i9Ka0RoHWcrctgJIusQyySirLSXVbD9MFJ6gljzgSl4=", + "hash": "sha256-EsupdOP2aWLGeQrtuTyPg4ppM/j0WT0q/UV60oK732Y=", "homepage": "https://registry.terraform.io/providers/DrFaust92/bitbucket", "owner": "DrFaust92", "repo": "terraform-provider-bitbucket", - "rev": "v2.29.1", + "rev": "v2.29.2", "spdx": "MPL-2.0", "vendorHash": "sha256-foMmZbNPLww1MN4UZwuynBDgt2w40aMqVINRw//Q0d0=" }, @@ -424,11 +424,11 @@ "vendorHash": "sha256-uWTY8cFztXFrQQ7GW6/R+x9M6vHmsb934ldq+oeW5vk=" }, "github": { - "hash": "sha256-xv15HZLQAgibmWgMLcn32DeMl0jQSRbbh00YU18ASPg=", + "hash": "sha256-o/kJwByQDXgbazZPoYW4YeV7BK4Bb3pwQhnWMhW4klE=", "homepage": "https://registry.terraform.io/providers/integrations/github", "owner": "integrations", "repo": "terraform-provider-github", - "rev": "v5.15.0", + "rev": "v5.16.0", "spdx": "MIT", "vendorHash": null }, @@ -471,13 +471,13 @@ "vendorHash": "sha256-fqVBnAivVekV+4tpkl+E6eNA3wi8mhLevJRCs3W7L2g=" }, "grafana": { - "hash": "sha256-cEoen5f/FmO241mvXBCs0lzsppybQCACaNYUWT597lU=", + "hash": "sha256-K1Pal5Fn6KxIlmcnOW6SNPdOzT9JExwhVRFDVTbaTug=", "homepage": "https://registry.terraform.io/providers/grafana/grafana", "owner": "grafana", "repo": "terraform-provider-grafana", - "rev": "v1.33.0", + "rev": "v1.34.0", "spdx": "MPL-2.0", - "vendorHash": "sha256-Eb4J8udIAj7M+72//Pgc4jXhpZ1md1lnh4sKboXVObg=" + "vendorHash": "sha256-fTc0cNo/ZWUo2tORzDKSDjFsXYIMz+a2+Zsx4fzd3ic=" }, "gridscale": { "hash": "sha256-ahYCrjrJPEItGyqbHYtgkIH/RzMyxBQkebSAyd8gwYo=", @@ -544,11 +544,11 @@ "vendorHash": "sha256-rxh8Me+eOKPCbfHFT3tRsbM7JU67dBqv2JOiWArI/2Y=" }, "huaweicloud": { - "hash": "sha256-GLAU/8GTo6XvNXLTu7fUUshW/b3NQyJkD/mdC+Dm3H8=", + "hash": "sha256-8H9DgpZukJ6K78H6YITPgWai8lPPb8O1tITRTl/azHw=", "homepage": "https://registry.terraform.io/providers/huaweicloud/huaweicloud", "owner": "huaweicloud", "repo": "terraform-provider-huaweicloud", - "rev": "v1.44.0", + "rev": "v1.44.1", "spdx": "MPL-2.0", "vendorHash": null }, @@ -1050,11 +1050,11 @@ "vendorHash": "sha256-NO1r/EWLgH1Gogru+qPeZ4sW7FuDENxzNnpLSKstnE8=" }, "spotinst": { - "hash": "sha256-lRElAmLXm6SqZlxT6gD1HwhdjfGest1Bic7T1MCLAK4=", + "hash": "sha256-JT+kWE6k22qp905soDbnptr7gJZiZ8uRZ4+ZBw++8Mo=", "homepage": "https://registry.terraform.io/providers/spotinst/spotinst", "owner": "spotinst", "repo": "terraform-provider-spotinst", - "rev": "v1.95.1", + "rev": "v1.95.2", "spdx": "MPL-2.0", "vendorHash": "sha256-vW+1tH+3bT70RrHOTKemM23e0EoX3AO5AMXOAuyyKPA=" }, diff --git a/pkgs/applications/networking/feedreaders/goeland/default.nix b/pkgs/applications/networking/feedreaders/goeland/default.nix index 946e145a5707..270cb7cdb622 100644 --- a/pkgs/applications/networking/feedreaders/goeland/default.nix +++ b/pkgs/applications/networking/feedreaders/goeland/default.nix @@ -23,14 +23,15 @@ buildGoModule rec { ]; meta = with lib; { - description = "An alternative to RSS2Email written in golang with many filters."; + description = "An alternative to rss2email written in golang with many filters"; longDescription = '' - Goeland excels at creating beautiful emails from RSS, - tailored for daily or weekly digest. It include a number of + Goeland excels at creating beautiful emails from RSS feeds, + tailored for daily or weekly digest. It includes a number of filters that can transform the RSS content along the way. - It can also consume other sources, such as a Imgur tag. + It can also consume other sources, such as Imgur tags. ''; homepage = "https://github.com/slurdge/goeland"; + changelog = "https://github.com/slurdge/goeland/blob/v${version}/CHANGELOG.md"; license = with licenses; [ mit ]; maintainers = [ maintainers.sweenu ]; }; diff --git a/pkgs/applications/networking/flexget/default.nix b/pkgs/applications/networking/flexget/default.nix index 6a8bed0c92bc..5aadf802e430 100644 --- a/pkgs/applications/networking/flexget/default.nix +++ b/pkgs/applications/networking/flexget/default.nix @@ -5,7 +5,7 @@ python3Packages.buildPythonApplication rec { pname = "flexget"; - version = "3.5.17"; + version = "3.5.18"; format = "pyproject"; # Fetch from GitHub in order to use `requirements.in` @@ -13,7 +13,7 @@ python3Packages.buildPythonApplication rec { owner = "flexget"; repo = "flexget"; rev = "refs/tags/v${version}"; - hash = "sha256-7r/3rB0TI/sRTi69+tx24dGjETBhX0KS1Arhg8aeoCk="; + hash = "sha256-gMOpKXLUihiNcpHF6045D1ZcYwTgyjaVIFpDRCln5rI="; }; postPatch = '' diff --git a/pkgs/applications/networking/instant-messengers/element/pin.json b/pkgs/applications/networking/instant-messengers/element/pin.json index 64a164c9b01e..cc0578f71fec 100644 --- a/pkgs/applications/networking/instant-messengers/element/pin.json +++ b/pkgs/applications/networking/instant-messengers/element/pin.json @@ -1,7 +1,7 @@ { - "version": "1.11.17", - "desktopSrcHash": "VB7p/ThiwphcCd3loSwQ61TthR2ji0nX6l32Jrgv/NE=", - "desktopYarnHash": "15jsznsqxvi1bs26pmb7zfrybl071k3g3g6i0pm34mzs2r9nvrii", - "webSrcHash": "YeXsDyyoQnWNDnfx/7fMHooi48ST+LiA5ACy0gBnQaQ=", - "webYarnHash": "1zniyg869glhajcmcgq34qwmhb4jq2hbjqhhz6a79p892yx97chp" + "version": "1.11.20", + "desktopSrcHash": "mlB2UvRYzaJ6FWGDOqyZY6NTY7QoWCiCvmFDyWTPuMQ=", + "desktopYarnHash": "0ccwsy9ma7sn6d5f9jfv40dhj0y6aax8msx9bihjdmx989nkkh2m", + "webSrcHash": "55oLS89Pmy4d7DhBQc4i6boQIH2LgujE7kl6QwcKltw=", + "webYarnHash": "1aiq5wvb8cz2a5rc0h11s16fnyak0p9zhzbqwhf1rs6c1gav7777" } diff --git a/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/tg_owt.nix b/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/tg_owt.nix index 7346d2071e76..bd2f9e4b3f5e 100644 --- a/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/tg_owt.nix +++ b/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/tg_owt.nix @@ -6,7 +6,7 @@ , ninja , yasm , libjpeg -, openssl +, openssl_1_1 , libopus , ffmpeg_4 , protobuf @@ -70,7 +70,7 @@ stdenv.mkDerivation { propagatedBuildInputs = [ libjpeg - openssl + openssl_1_1 libopus ffmpeg_4 protobuf diff --git a/pkgs/development/interpreters/python/fetchpypi.nix b/pkgs/build-support/fetchpypi/default.nix index ebd277cd2bdf..ebd277cd2bdf 100644 --- a/pkgs/development/interpreters/python/fetchpypi.nix +++ b/pkgs/build-support/fetchpypi/default.nix diff --git a/pkgs/data/misc/v2ray-geoip/default.nix b/pkgs/data/misc/v2ray-geoip/default.nix index 7ce9973c3b72..439845d79ab6 100644 --- a/pkgs/data/misc/v2ray-geoip/default.nix +++ b/pkgs/data/misc/v2ray-geoip/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "v2ray-geoip"; - version = "202301120046"; + version = "202301190046"; src = fetchFromGitHub { owner = "v2fly"; repo = "geoip"; - rev = "c308361f47373772d1a3b9d486cd7dded7165d8e"; - sha256 = "sha256-GhCEsMDeMapWpJckMWS+3azuNjMdiN4cjDyq8aSJINA="; + rev = "83ea735314fbc2c3404cb4b9aa044b476e67bc8b"; + sha256 = "sha256-8u2xhpoA6BH9e+kgDwxPsjD4RSuUw05h39aUo7ivM3U="; }; installPhase = '' diff --git a/pkgs/desktops/xfce/applications/xfce4-screenshooter/default.nix b/pkgs/desktops/xfce/applications/xfce4-screenshooter/default.nix index 8e08a2baa4f8..f0129fe9001a 100644 --- a/pkgs/desktops/xfce/applications/xfce4-screenshooter/default.nix +++ b/pkgs/desktops/xfce/applications/xfce4-screenshooter/default.nix @@ -12,10 +12,10 @@ mkXfceDerivation { category = "apps"; pname = "xfce4-screenshooter"; - version = "1.10.2"; + version = "1.10.3"; odd-unstable = false; - sha256 = "sha256-UpfQgKcrxFm7VvMEVV4fsvRnJPZSLJWexx9lZlFWJW8="; + sha256 = "sha256-L+qlxzNgjsoMi+VsbOFG7L/IITbF1iqMWqujhk0rAcA="; buildInputs = [ exo diff --git a/pkgs/development/interpreters/python/python-packages-base.nix b/pkgs/development/interpreters/python/python-packages-base.nix index 92b0a456b077..d5b02223fd6c 100644 --- a/pkgs/development/interpreters/python/python-packages-base.nix +++ b/pkgs/development/interpreters/python/python-packages-base.nix @@ -41,8 +41,6 @@ let # See build-setupcfg/default.nix for documentation. buildSetupcfg = import ../../../build-support/build-setupcfg self; - fetchPypi = callPackage ./fetchpypi.nix { }; - # Check whether a derivation provides a Python module. hasPythonModule = drv: drv?pythonModule && drv.pythonModule == python; @@ -89,7 +87,7 @@ in { inherit lib pkgs stdenv; inherit (python.passthru) isPy27 isPy37 isPy38 isPy39 isPy310 isPy311 isPy3k isPyPy pythonAtLeast pythonOlder; inherit buildPythonPackage buildPythonApplication; - inherit fetchPypi; + inherit (pkgs) fetchPypi; inherit hasPythonModule requiredPythonModules makePythonPath disabled disabledIf; inherit toPythonModule toPythonApplication; inherit buildSetupcfg; diff --git a/pkgs/development/libraries/mtxclient/default.nix b/pkgs/development/libraries/mtxclient/default.nix index 7513614a51e8..505e58c1ec37 100644 --- a/pkgs/development/libraries/mtxclient/default.nix +++ b/ |