Tutorials:
Comfy computing
Making life easier with python
Choosing the right Desktop enviroment and customizing it to your needs
First thing when it comes to GNU/Linux theming and ricing are desktop enviromests (DE for short). There are atlest 30 DEs aviable but the ones i will feature are Cinnamon, Xfce, wmaker, fluxbox. This ones are best in my opinion, you should try each DE before deciding which is more comfortable for you. I personally think that tiling WMs suck and are a huge waste of your time.
Xah Lee explains why tiling WMs suck.
Easy python automation
When it comes to making your life easier and faster, python is the best choice so far.
Setting up python path and importing needed modules:
  
#!/usr/bin/python3 #!!!only use this line if you are going to use it on GNU/Linux based OS!!!

import os

import subprocess

import time

import sys

screen_width = 80
  
  
Defining function that you will use later:
You need to install youtube-dl to use it, curl is already installed on all GNU/Linux distros, subprocess.call is used to call processes like "ls" or "rm", for example if you want to call ls -a, is is formatted like: subprocess.call(["ls", "-a"]).
It can be used on any OS, in this case its GNU/Linux, it should work the same on Mac, refer to
Python docs for more info.
  
def YTdl():
    url = input("Enter Youtube URL: ")
    subprocess.call(["youtube-dl", "--extract-audio", "--audio-format", "mp3", url])
def wttrin():
    subprocess.call(["curl", "wttr.in"])
  
Windows example:
  
def Process():
    subprocess.call(['C:\\Windows\\System32\\Notepad.exe', 'C:\\fileExample.txt'])
  
You need a menu to input and choose which function you should call.
  
def titlemenu():
    print("Titlemenu")
    print("Type 1 to EXIT\n 2 to convert youtube videos to mp3\n 3 to check weather\n")
    option = ""
    while option not in ["1","2","3"]:
        option = input("> ")
        if option == "1":
            sys.exit()
        elif option == "2":
            YTdl()
        elif option == "3":
            wttrin()
def mainLoop():
    while 1:
        titlemenu()
        time.sleep(0.1)
mainLoop()
  
Everything looks like:
Titlemenu is put in a loop, so it doesnt exit after the subprocess.call ends. Exit by typing 1 in titlemenu (sys.exit).
  
#!/usr/bin/python3

import os

import subprocess

import time

import sys

screen_width = 80

def YTdl():
    url = input("Enter Youtube URL: ")
    subprocess.call(["youtube-dl", "--extract-audio", "--audio-format", "mp3", url]) #mp3 can be replaced
def wttrin():
    subprocess.call(["curl", "wttr.in"])
def titlemenu():
    print("Titlemenu")
    print("Type 1 to EXIT\n 2 to convert youtube videos to mp3\n 3 to check weather\n")
    option = ""
    while option not in ["1","2","3"]:
        option = input("> ")
        elif option == "1":
            sys.exit()
        elif option == "2":
            YTdl()
        elif option == "3":
            wttrin()
def mainLoop():
    while 1:
        titlemenu()
        time.sleep(0.1)
mainLoop()