···3636- `nixos-option` has been rewritten to a Nix expression called by a simple bash script. This lowers our maintenance threshold, makes eval errors less verbose, adds support for flake-based configurations, descending into `attrsOf` and `listOf` submodule options, and `--show-trace`.
37373838- The Mattermost module ({option}`services.mattermost`) and packages (`mattermost` and `mmctl`) have been substantially updated:
3939+ - {option}`services.mattermost.preferNixConfig` now defaults to true if you advance {option}`system.stateVersion` to 25.05. This means that if you have {option}`services.mattermost.mutableConfig` set, NixOS will override your settings to those that you define in the module. It is recommended to leave this at the default, even if you used a mutable config before, because it will ensure that your Mattermost data directories are correct. If you moved your data directories, you may want to review the module changes before upgrading.
4040+ - Mattermost telemetry reporting is now disabled by default, though security update notifications are enabled. Look at {option}`services.mattermost.telemetry` for options to control this behavior.
3941 - `pkgs.mattermostLatest` is now an option to track the latest (non-prerelease) Mattermost release. We test upgrade migrations from ESR releases (`pkgs.mattermost`) to `pkgs.mattermostLatest`.
4042 - The Mattermost frontend is now built from source and can be overridden.
4143 - Note that the Mattermost derivation containing both the webapp and server is now wrapped to allow them to be built independently, so overrides to both webapp and server look like `mattermost.overrideAttrs (prev: { webapp = prev.webapp.override { ... }; server = prev.server.override { ... }; })` now.
+32-2
nixos/modules/services/web-apps/mattermost.nix
···202202 ListenAddress = "${cfg.host}:${toString cfg.port}";
203203 LocalModeSocketLocation = cfg.socket.path;
204204 EnableLocalMode = cfg.socket.enable;
205205+ EnableSecurityFixAlert = cfg.telemetry.enableSecurityAlerts;
205206 };
206207 TeamSettings.SiteName = cfg.siteName;
207208 SqlSettings.DriverName = cfg.database.driver;
···233234 FileSettings.Directory = cfg.dataDir;
234235 PluginSettings.Directory = "${pluginDir}/server";
235236 PluginSettings.ClientDirectory = "${pluginDir}/client";
236236- LogSettings.FileLocation = cfg.logDir;
237237+ LogSettings = {
238238+ FileLocation = cfg.logDir;
239239+240240+ # Reaches out to Mattermost's servers for telemetry; disable it by default.
241241+ # https://docs.mattermost.com/configure/environment-configuration-settings.html#enable-diagnostics-and-error-reporting
242242+ EnableDiagnostics = cfg.telemetry.enableDiagnostics;
243243+ };
237244 } cfg.settings;
238245239246 mattermostConf = recursiveUpdate mattermostConfWithoutPlugins (
···455462456463 preferNixConfig = mkOption {
457464 type = types.bool;
458458- default = false;
465465+ default = versionAtLeast config.system.stateVersion "25.05";
466466+ defaultText = ''
467467+ versionAtLeast config.system.stateVersion "25.05";
468468+ '';
459469 description = ''
460470 If both mutableConfig and this option are set, the Nix configuration
461471 will take precedence over any settings configured in the server
···472482 This is a list of paths to .tar.gz files or derivations evaluating to
473483 .tar.gz files.
474484 '';
485485+ };
486486+487487+ telemetry = {
488488+ enableSecurityAlerts = mkOption {
489489+ type = types.bool;
490490+ default = true;
491491+ description = ''
492492+ True if we should enable security update checking. This reaches out to Mattermost's servers:
493493+ https://docs.mattermost.com/manage/telemetry.html#security-update-check-feature
494494+ '';
495495+ };
496496+497497+ enableDiagnostics = mkOption {
498498+ type = types.bool;
499499+ default = false;
500500+ description = ''
501501+ True if we should enable sending diagnostic data. This reaches out to Mattermost's servers:
502502+ https://docs.mattermost.com/manage/telemetry.html#error-and-diagnostics-reporting-feature
503503+ '';
504504+ };
475505 };
476506477507 environment = mkOption {
+5-4
nixos/tests/mate-wayland.nix
···4242 machine.wait_for_file("/run/user/${toString user.uid}/wayland-1")
43434444 with subtest("Check if MATE session components actually start"):
4545- for i in ["wayfire", "mate-panel", "mate-wayland.sh", "mate-wayland-components.sh"]:
4646- machine.wait_until_succeeds(f"pgrep -f {i}")
4747- # It is expected that this applet doesn't work in Wayland
4848- machine.wait_for_text('WorkspaceSwitcherApplet')
4545+ for i in ["wayfire", "mate-panel", "mate-wayland.sh"]:
4646+ machine.wait_until_succeeds(f"pgrep {i}")
4747+ machine.wait_until_succeeds("pgrep -f mate-wayland-components.sh")
4848+ # It is expected that WorkspaceSwitcherApplet doesn't work in Wayland
4949+ machine.wait_for_text('(panel|Factory|Workspace|Switcher|Applet|configuration)')
49505051 with subtest("Check if various environment variables are set"):
5152 cmd = "xargs --null --max-args=1 echo < /proc/$(pgrep -xf mate-panel)/environ"
···36363737stdenv.mkDerivation {
3838 pname = "tdlib";
3939- version = "1.8.42";
3939+ version = "1.8.44";
40404141 src = fetchFromGitHub {
4242 owner = "tdlib";
···4545 # The tdlib authors do not set tags for minor versions, but
4646 # external programs depending on tdlib constrain the minor
4747 # version, hence we set a specific commit with a known version.
4848- rev = "ef580cd3dd0e5223c2be503342dc29e128be866e";
4949- hash = "sha256-k1YQpQXYmEdoiyWeAcj2KRU+BcWuWbHpd4etxLspEoo=";
4848+ rev = "28c6f2e9c045372d50217919bf5768b7fbbe0294";
4949+ hash = "sha256-IZ/VplO7PSzYVYmUa6nhJdI4kni8x5TZ7XWkf8JcmYI=";
5050 };
51515252 buildInputs = [
···202202 cargo-deps = throw "cargo-deps has been removed as the repository is deleted"; # Added 2024-04-09
203203 cargo-espflash = espflash;
204204 cargo-kcov = throw "'cargo-kcov' has been removed due to lack of upstream maintenance"; # Added 2025-01-25
205205+ cargo-inspect = throw "'cargo-inspect' has been removed due to lack of upstream maintenance. Upstream recommends cargo-expand."; # Added 2025-01-26
205206 cawbird = throw "cawbird has been abandoned upstream and is broken anyways due to Twitter closing its API";
206207 certmgr-selfsigned = certmgr; # Added 2023-11-30
207208 cgal_4 = throw "cgal_4 has been removed as it is obsolete use cgal instead"; # Added 2024-12-30