···490490491491- `nodePackages.ganache` has been removed, as the package has been deprecated by upstream.
492492493493+- `services.nitter.guestAccounts` has been renamed to `services.nitter.sessionsFile`, for consistency with upstream. The file format is unchanged.
494494+493495- `virtualisation.azure.agent` option provided by `azure-agent.nix` is replaced by `services.waagent`, and will be removed in a future release.
494496495497- `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.mkRenamedOptionModule
6868+ [ "services" "nitter" "guestAccounts" ]
6969+ [ "services" "nitter" "sessionsFile" ]
7070+ )
6771 ];
68726973 options = {
···322326 '';
323327 };
324328325325- guestAccounts = lib.mkOption {
329329+ sessionsFile = lib.mkOption {
326330 type = lib.types.path;
327327- default = "/var/lib/nitter/guest_accounts.jsonl";
331331+ default = "/var/lib/nitter/sessions.jsonl";
328332 description = ''
329329- Path to the guest accounts file.
333333+ Path to the session tokens file.
330334331331- This file contains a list of guest accounts that can be used to
335335+ This file contains a list of session tokens that can be used to
332336 access the instance without logging in. The file is in JSONL format,
333337 where each line is a JSON object with the following fields:
334338335339 {"oauth_token":"some_token","oauth_token_secret":"some_secret_key"}
336340337337- See <https://github.com/zedeus/nitter/wiki/Guest-Account-Branch-Deployment>
338338- for more information on guest accounts and how to generate them.
341341+ See <https://github.com/zedeus/nitter/wiki/Creating-session-tokens>
342342+ for more information on session tokens and how to generate them.
339343 '';
340344 };
341345···369373 after = [ "network-online.target" ];
370374 serviceConfig = {
371375 DynamicUser = true;
372372- LoadCredential = "guestAccountsFile:${cfg.guestAccounts}";
376376+ LoadCredential = "sessionsFile:${cfg.sessionsFile}";
373377 StateDirectory = "nitter";
374378 Environment = [
375379 "NITTER_CONF_FILE=/var/lib/nitter/nitter.conf"
376376- "NITTER_ACCOUNTS_FILE=%d/guestAccountsFile"
380380+ "NITTER_SESSIONS_FILE=%d/sessionsFile"
377381 ];
378382 # Some parts of Nitter expect `public` folder in working directory,
379383 # 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 provide
99 # credentials in the correct format, otherwise nitter fails to start. They
1010 # 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_SERVICE
2323 server.port = 80;
2424 # Provide dummy guest accounts
2525- guestAccounts = guestAccountFile;
2525+ inherit sessionsFile;
2626 };
2727 };
2828