nix-configs

Personal NixOS and home-manager configuration files
Log | Files | Refs

youtube-id-rss.nix (577B)


      1 { pkgs, ... }:
      2 
      3 let
      4   youtube-id-rss = pkgs.writeShellScriptBin "youtube-id-rss" ''
      5     if [ "$#" -eq 0 ]
      6     then
      7 	  echo "No URI argument supplied, using clipboard"
      8 	  uri="${pkgs.wl-clipboard}/bin/wl-paste)"
      9     else
     10 	  uri="$1"
     11     fi
     12     uri_id=$(curl --silent "$uri" | tr "\"" "\n" | grep -P '^(?=.*https)(?=.*channel)' | uniq -c | sort -rn | awk 'NR==1{print $2}' )
     13     base_id="$(echo "$uri_id" | awk -F "/" '{print $5}')"
     14     printf "https://www.youtube.com/feeds/videos.xml?channel_id=%s\\n" "$base_id"
     15   '';
     16 in {
     17   environment.systemPackages = [ youtube-id-rss ];
     18 }