From 9aa8863a8ffcad0626a9e160da16a95f82e08f5c Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Sat, 22 Jan 2022 14:17:25 +0100 Subject: [PATCH] netflix: init --- pkgs/applications/video/netflix/default.nix | 56 +++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 58 insertions(+) create mode 100644 pkgs/applications/video/netflix/default.nix diff --git a/pkgs/applications/video/netflix/default.nix b/pkgs/applications/video/netflix/default.nix new file mode 100644 index 000000000000..4f44ddebaef4 --- /dev/null +++ b/pkgs/applications/video/netflix/default.nix @@ -0,0 +1,56 @@ +{ fetchurl +, google-chrome +, lib +, makeDesktopItem +, runtimeShell +, symlinkJoin +, writeScriptBin +}: + +let + name = "netflix-via-google-chrome"; + + meta = { + description = "Open Netflix in Google Chrome app mode"; + longDescription = '' + Netflix is a video streaming service providing films, TV series and exclusive content. See https://www.netflix.com. + + 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. + ''; + homepage = google-chrome.meta.homepage or null; + license = lib.licenses.unfree; + maintainers = [ lib.maintainers.roberth ]; + platforms = google-chrome.meta.platforms or lib.platforms.all; + }; + + desktopItem = makeDesktopItem { + inherit name; + # Executing by name as opposed to store path is conventional and prevents + # copies of the desktop file from bitrotting too much. + # (e.g. a copy in ~/.config/autostart, you lazy lazy bastard ;) ) + exec = name; + icon = fetchurl { + name = "netflix-icon-2016.png"; + url = "https://assets.nflxext.com/us/ffe/siteui/common/icons/nficon2016.png"; + sha256 = "sha256-c0H3uLCuPA2krqVZ78MfC1PZ253SkWZP3PfWGP2V7Yo="; + meta.license = lib.licenses.unfree; + }; + desktopName = "Netflix via Google Chrome"; + genericName = "A video streaming service providing films and exclusive TV series"; + categories = [ "TV" "AudioVideo" "Network" ]; + startupNotify = true; + }; + + script = writeScriptBin name '' + #!${runtimeShell} + exec ${google-chrome}/bin/${google-chrome.meta.mainProgram} \ + --app=https://netflix.com \ + --no-first-run --no-default-browser-check --no-crash-upload + ''; + +in + +symlinkJoin { + inherit name meta; + paths = [ script desktopItem ]; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 17798ea68e7b..187b2614f196 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -21672,6 +21672,8 @@ with pkgs; nemo-qml-plugin-dbus = libsForQt5.callPackage ../development/libraries/nemo-qml-plugin-dbus { }; + netflix = callPackage ../applications/video/netflix { }; + nifticlib = callPackage ../development/libraries/science/biology/nifticlib { }; notify-sharp = callPackage ../development/libraries/notify-sharp { };