···462462463463- `nodePackages.ganache` has been removed, as the package has been deprecated by upstream.464464465465+- `services.nitter.guestAccounts` has been renamed to `services.nitter.sessionsFile`, for consistency with upstream. The file format is unchanged.466466+465467- `virtualisation.azure.agent` option provided by `azure-agent.nix` is replaced by `services.waagent`, and will be removed in a future release.466468467469- `matomo` now defaults to version 5 (previously available as `matomo_5`). Version 4 has been removed as it reached EOL on December 19, 2024.
+12-8
nixos/modules/services/misc/nitter.nix
···6464 "nitter"6565 "replaceInstagram"6666 ] "Nitter no longer supports this option as Bibliogram has been discontinued.")6767+ (lib.mkRenamedOptionModule6868+ [ "services" "nitter" "guestAccounts" ]6969+ [ "services" "nitter" "sessionsFile" ]7070+ )6771 ];68726973 options = {···326322 '';327323 };328324329329- guestAccounts = lib.mkOption {325325+ sessionsFile = lib.mkOption {330326 type = lib.types.path;331331- default = "/var/lib/nitter/guest_accounts.jsonl";327327+ default = "/var/lib/nitter/sessions.jsonl";332328 description = ''333333- Path to the guest accounts file.329329+ Path to the session tokens file.334330335335- This file contains a list of guest accounts that can be used to331331+ This file contains a list of session tokens that can be used to336332 access the instance without logging in. The file is in JSONL format,337333 where each line is a JSON object with the following fields:338334339335 {"oauth_token":"some_token","oauth_token_secret":"some_secret_key"}340336341341- See <https://github.com/zedeus/nitter/wiki/Guest-Account-Branch-Deployment>342342- for more information on guest accounts and how to generate them.337337+ See <https://github.com/zedeus/nitter/wiki/Creating-session-tokens>338338+ for more information on session tokens and how to generate them.343339 '';344340 };345341···373369 after = [ "network-online.target" ];374370 serviceConfig = {375371 DynamicUser = true;376376- LoadCredential = "guestAccountsFile:${cfg.guestAccounts}";372372+ LoadCredential = "sessionsFile:${cfg.sessionsFile}";377373 StateDirectory = "nitter";378374 Environment = [379375 "NITTER_CONF_FILE=/var/lib/nitter/nitter.conf"380380- "NITTER_ACCOUNTS_FILE=%d/guestAccountsFile"376376+ "NITTER_SESSIONS_FILE=%d/sessionsFile"381377 ];382378 # Some parts of Nitter expect `public` folder in working directory,383379 # see https://github.com/zedeus/nitter/issues/414
+2-2
nixos/tests/nitter.nix
···88 # These credentials are from the nitter wiki and are expired. We must provide99 # credentials in the correct format, otherwise nitter fails to start. They1010 # must not be valid, as unauthorized errors are handled gracefully.1111- guestAccountFile = pkgs.writeText "guest_accounts.jsonl" ''1111+ sessionsFile = pkgs.writeText "sessions.jsonl" ''1212 {"oauth_token":"1719213587296620928-BsXY2RIJEw7fjxoNwbBemgjJhueK0m","oauth_token_secret":"N0WB0xhL4ng6WTN44aZO82SUJjz7ssI3hHez2CUhTiYqy"}1313 '';1414 in···2222 # Test CAP_NET_BIND_SERVICE2323 server.port = 80;2424 # Provide dummy guest accounts2525- guestAccounts = guestAccountFile;2525+ inherit sessionsFile;2626 };2727 };2828