biome: 1.9.2 -> 1.9.3
[NixPkgs.git] / pkgs / applications / video / netflix / default.nix
blob8c50e027c0e201e35b1d34ca9ff6eb0669decaee
1 { fetchurl
2 , google-chrome
3 , lib
4 , makeDesktopItem
5 , runtimeShell
6 , symlinkJoin
7 , writeScriptBin
9   # command line arguments which are always set e.g "--disable-gpu"
10 , commandLineArgs ? [ ]
13 let
14   name = "netflix-via-google-chrome";
16   meta = {
17     description = "Open Netflix in Google Chrome app mode";
18     longDescription = ''
19       Netflix is a video streaming service providing films, TV series and exclusive content. See https://www.netflix.com.
21       This package installs an application launcher item that opens Netflix in a dedicated Google Chrome window. If your preferred browser doesn't support Netflix's DRM, this package provides a quick and easy way to launch Netflix on a supported browser, without polluting your application list with a redundant, single-purpose browser.
22     '';
23     homepage = google-chrome.meta.homepage or null;
24     license = lib.licenses.unfree;
25     maintainers = [ lib.maintainers.roberth ];
26     platforms = google-chrome.meta.platforms or lib.platforms.all;
27   };
29   desktopItem = makeDesktopItem {
30     inherit name;
31     # Executing by name as opposed to store path is conventional and prevents
32     # copies of the desktop file from bitrotting too much.
33     # (e.g. a copy in ~/.config/autostart, you lazy lazy bastard ;) )
34     exec = name;
35     icon = fetchurl {
36       name = "netflix-icon-2016.png";
37       url = "https://assets.nflxext.com/us/ffe/siteui/common/icons/nficon2016.png";
38       sha256 = "sha256-c0H3uLCuPA2krqVZ78MfC1PZ253SkWZP3PfWGP2V7Yo=";
39       meta.license = lib.licenses.unfree;
40     };
41     desktopName = "Netflix via Google Chrome";
42     genericName = "A video streaming service providing films and exclusive TV series";
43     categories = [ "TV" "AudioVideo" "Network" ];
44     startupNotify = true;
45   };
47   script = writeScriptBin name ''
48     #!${runtimeShell}
49     exec ${google-chrome}/bin/${google-chrome.meta.mainProgram} ${lib.escapeShellArgs commandLineArgs} \
50       --app=https://netflix.com \
51       --no-first-run \
52       --no-default-browser-check \
53       --no-crash-upload \
54       "$@"
55   '';
59 symlinkJoin {
60   inherit name meta;
61   paths = [ script desktopItem ];