Can a ppa repository be added to /etc/apt/source.list?

  1. Yes, PPA's can be added to /etc/apt/source.list, in similar way to debian (deb) repositories.

    deb http://ppa.launchpad.net/<ppa-name>/ppa/ubuntu <release-code-name> main 
    deb-src http://ppa.launchpad.net/<ppa-name>/ppa/ubuntu <release-code-name> main
    

    An example for WineHq: ppa debian repository link

  2. Thought just matter of keeping things somehow easily managed, leaving /etc/apt/source.list only for official release repositories. All additional repositories goes to /etc/apt/source.list.d/. Easy to:

    1. add (creating file then editing existing one, a partial solution to avoid duplicates too)
    2. remove (with parsing a /etc/apt/source.list looking to related line)
    3. backup/restore (using compressed archive of /etc/apt/source.list.d/ folder)
    4. avoid breaking things with much edits targeting /etc/apt/source.list
  3. PPA are always added to /etc/apt/source.list.d/ folder if wrote it in ppa:<user>/<ppa-name> form.

    Reference: man add-apt-repository

    REPOSITORY STRING
           REPOSITORY can  be  either  a  line  that  can  be  added  directly  to
           sources.list(5),  in the form ppa:<user>/<ppa-name> for adding Personal
           Package Archives, or a distribution component to enable.
    
           In  the   first   form,   REPOSITORY   will   just   be   appended   to
           /etc/apt/sources.list.
    
           In  the second form, ppa:<user>/<ppa-name> will be expanded to the full
           deb  line  of  the  PPA  and   added   into   a   new   file   in   the
           /etc/apt/sources.list.d/  directory.   The  GPG public key of the newly
           added PPA will also be downloaded and added to apt's keyring.
    
           In the third form, the given distribution component will be enabled for
           all sources.
    
  4. Well, it seems only PPA's as shortcut goes to /etc/apt/sources.list.d/. add-apt-repository or apt-add-repository is a Ubuntu specific tool. All I can think of is just Ubuntu decision to keep personal PPA's out.

    However you can modify it to use only /etc/apt/sources.list. It's a python3 script. Modify /usr/bin/add-apt-repository line:

    shortcut = shortcut_handler(line)
    

    replace it with this one below to resolve ppa shortcut form to a deb line form:

    shortcut = shortcut_handler(shortcut_handler(line).expand(sp.distro.codename)[0])