Install kodi addons

I installed kodi like this

          (kodi.passthru.withPackages (kodiPkgs: with kodiPkgs; [invidious netflix steam-controller]))

netflix is working fine, but i can’t find invidious in kodi. I can intall it through kodi. But when i try to open it i get: Invidious error check the log for more information. I also can’t find this log.

We don’t have an invidious addon for kodi. Likely you’re passing in pkgs.invidious, which isn’t related to kodi at all.

I didn’t know this addon exists. There is a high chance I’m going to package this. I’ll try to remember to ping back on this topic if I do.

By the way you can drop passthru and just use kodi.withPackages.

You are right. I have with pkgs; above of the line which installs kodi.

I packaged the invidious addon: https://github.com/NixOS/nixpkgs/pull/180014

If you’re on unstable it should land in the binary caches at some point soon. If you’re on stable it should be fine to backport that leaf package to stable. Let me know if you want me to do that.

Does it work for you? I get the error in ~/.kodi/temp/kodi.log

2022-07-12 19:51:35.160 T:196096   ERROR <general>: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
                                                    - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
                                                   Error Type: <class 'requests.exceptions.JSONDecodeError'>
                                                   Error Contents: [Errno Expecting value] <!DOCTYPE html><html lang="en"><head><title>Select instance - Invidious</title><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" type="text/css" href="/static/css/main.css?static=bd312d0b07"><script src="/static/js/main.min.js?static=ceebe78f07" text="text/javascript" defer></script></head><body><noscript><style>.requires-scripts {
                                                   	display: none;
                                                   }
                                                   </style></noscript><header class="banner"><div class="logo"></div><h1>Invidious</h1></header><noscript><div class="script-warning"><p>You are seeing the fallback version of this page.<br>
                                                   Some features are missing.</p><p>JavaScript is required to use the regular page.
                                                   </p></div></noscript><div class="story"><div class="requires-scripts"><p>To see this content, select an instance,
                                                   or <a id="watch-on-youtube">see directly on YouTube.</a></p></div><noscript><p>To see this content, please select an instance,
                                                   or <a href="https://www.youtube.com">go to YouTube</a> and look for it there.
                                                   </p></noscript></div><div class="instances-table requires-scripts"><table><thead><tr><th scope="col">Domain</th><th scope="col">Health</th><th scope="col">Action</th></tr></thead><tbody id="instances-tbody"><tr class="loading"><td class="loading-td" colspan="3" data-loading-message="Loading instances...">Trying to run scripts...</td></tr></tbody></table></div><noscript><div class="instances-list"><h2>Available instances</h2><ul class="list"><li><a href="https://invidious.snopyta.org">invidious.snopyta.org</a></li><li><a href="https://yewtu.be">yewtu.be</a></li><li><a href="https://invidious.kavin.rocks">invidious.kavin.rocks</a></li><li><a href="https://invidious-us.kavin.rocks">invidious-us.kavin.rocks</a></li><li><a href="https://invidious-jp.kavin.rocks">invidious-jp.kavin.rocks</a></li><li><a href="https://vid.puffyan.us">vid.puffyan.us</a></li><li><a href="https://invidious.namazso.eu">invidious.namazso.eu</a></li><li><a href="https://inv.riverside.rocks">inv.riverside.rocks</a></li><li><a href="https://vid.mint.lgbt">vid.mint.lgbt</a></li><li><a href="https://invidious.osi.kr">invidious.osi.kr</a></li><li><a href="https://invidio.xamh.de">invidio.xamh.de</a></li><li><a href="https://yt.artemislena.eu">yt.artemislena.eu</a></li></ul></div></noscript><footer><ul class="footer-link-list"><li><a href="/">Home</a></li><li><a href="https://github.com/iv-org/invidious-redirect">Source code</a></li><li><a href="https://github.com/iv-org/invidious">Invidious project</a></li><li><a href="/js-licenses.html" data-jslicense="1">JavaScript license</a></li></ul></footer></body></html>: 0
                                                   Traceback (most recent call last):
                                                     File "/home/florian/.kodi/addons/script.module.requests/lib/requests/models.py", line 910, in json
                                                       return complexjson.loads(self.text, **kwargs)
                                                     File "/nix/store/hjwdfamsr1i4hgw41ldbj062icdyshvw-python3-3.10.5/lib/python3.10/json/__init__.py", line 346, in loads
                                                       return _default_decoder.decode(s)
                                                     File "/nix/store/hjwdfamsr1i4hgw41ldbj062icdyshvw-python3-3.10.5/lib/python3.10/json/decoder.py", line 337, in decode
                                                       obj, end = self.raw_decode(s, idx=_w(s, 0).end())
                                                     File "/nix/store/hjwdfamsr1i4hgw41ldbj062icdyshvw-python3-3.10.5/lib/python3.10/json/decoder.py", line 355, in raw_decode
                                                       raise JSONDecodeError("Expecting value", s, err.value) from None
                                                   json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
                                                   
                                                   During handling of the above exception, another exception occurred:
                                                   
                                                   Traceback (most recent call last):
                                                     File "/nix/store/gvkg2mw63i753m215vggnk91kwh5fs5w-kodi-19.4-env/share/kodi/addons/plugin.video.invidious/resources/lib/invidious_addon.py", line 18, in <module>
                                                       sys.exit(main())
                                                     File "/nix/store/gvkg2mw63i753m215vggnk91kwh5fs5w-kodi-19.4-env/share/kodi/addons/plugin.video.invidious/resources/lib/invidious_addon.py", line 14, in main
                                                       return plugin.run()
                                                     File "/nix/store/gvkg2mw63i753m215vggnk91kwh5fs5w-kodi-19.4-env/share/kodi/addons/plugin.video.invidious/resources/lib/invidious_plugin.py", line 170, in run
                                                       self.display_special_list(special_list_name)
                                                     File "/nix/store/gvkg2mw63i753m215vggnk91kwh5fs5w-kodi-19.4-env/share/kodi/addons/plugin.video.invidious/resources/lib/invidious_plugin.py", line 93, in display_special_list
                                                       self.display_list_of_videos(videos)
                                                     File "/nix/store/gvkg2mw63i753m215vggnk91kwh5fs5w-kodi-19.4-env/share/kodi/addons/plugin.video.invidious/resources/lib/invidious_plugin.py", line 47, in display_list_of_videos
                                                       for video in videos:
                                                     File "/nix/store/gvkg2mw63i753m215vggnk91kwh5fs5w-kodi-19.4-env/share/kodi/addons/plugin.video.invidious/resources/lib/invidious_api.py", line 47, in parse_video_list_response
                                                       data = response.json()
                                                     File "/home/florian/.kodi/addons/script.module.requests/lib/requests/models.py", line 917, in json
                                                       raise RequestsJSONDecodeError(e.msg, e.doc, e.pos)
                                                   requests.exceptions.JSONDecodeError: [Errno Expecting value] <!DOCTYPE html><html lang="en"><head><title>Select instance - Invidious</title><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" type="text/css" href="/static/css/main.css?static=bd312d0b07"><script src="/static/js/main.min.js?static=ceebe78f07" text="text/javascript" defer></script></head><body><noscript><style>.requires-scripts {
                                                   	display: none;
                                                   }
                                                   </style></noscript><header class="banner"><div class="logo"></div><h1>Invidious</h1></header><noscript><div class="script-warning"><p>You are seeing the fallback version of this page.<br>
                                                   Some features are missing.</p><p>JavaScript is required to use the regular page.
                                                   </p></div></noscript><div class="story"><div class="requires-scripts"><p>To see this content, select an instance,
                                                   or <a id="watch-on-youtube">see directly on YouTube.</a></p></div><noscript><p>To see this content, please select an instance,
                                                   or <a href="https://www.youtube.com">go to YouTube</a> and look for it there.
                                                   </p></noscript></div><div class="instances-table requires-scripts"><table><thead><tr><th scope="col">Domain</th><th scope="col">Health</th><th scope="col">Action</th></tr></thead><tbody id="instances-tbody"><tr class="loading"><td class="loading-td" colspan="3" data-loading-message="Loading instances...">Trying to run scripts...</td></tr></tbody></table></div><noscript><div class="instances-list"><h2>Available instances</h2><ul class="list"><li><a href="https://invidious.snopyta.org">invidious.snopyta.org</a></li><li><a href="https://yewtu.be">yewtu.be</a></li><li><a href="https://invidious.kavin.rocks">invidious.kavin.rocks</a></li><li><a href="https://invidious-us.kavin.rocks">invidious-us.kavin.rocks</a></li><li><a href="https://invidious-jp.kavin.rocks">invidious-jp.kavin.rocks</a></li><li><a href="https://vid.puffyan.us">vid.puffyan.us</a></li><li><a href="https://invidious.namazso.eu">invidious.namazso.eu</a></li><li><a href="https://inv.riverside.rocks">inv.riverside.rocks</a></li><li><a href="https://vid.mint.lgbt">vid.mint.lgbt</a></li><li><a href="https://invidious.osi.kr">invidious.osi.kr</a></li><li><a href="https://invidio.xamh.de">invidio.xamh.de</a></li><li><a href="https://yt.artemislena.eu">yt.artemislena.eu</a></li></ul></div></noscript><footer><ul class="footer-link-list"><li><a href="/">Home</a></li><li><a href="https://github.com/iv-org/invidious-redirect">Source code</a></li><li><a href="https://github.com/iv-org/invidious">Invidious project</a></li><li><a href="/js-licenses.html" data-jslicense="1">JavaScript license</a></li></ul></footer></body></html>: 0
                                                   -->End of Python script error report<--
                                                   

Yes. The plugin is fine, you just need to find a compatible invidious instance and set the value in your settings. Take a look and try a couple of these: Invidious Instances - Invidious Documentation

Let us know which one works for you.

https://vid.puffyan.us worked for me

1 Like