Skip Navigation

[Help] go and perl5 folders in ~/

I don't like the mess some software makes when it install in my system so I want to move it to a more appropriate place.

My questions are:

1- Where is the most appropriated directory for this? (some hidden folder made with this purpose, I thought linux had something like this as a standard)

2- How I move it without breaking anything?

18

You're viewing a single thread.

18 comments
  • RE Go: Others have already mentioned the right way, thought I'd personally prefer ~/opt/go over what was suggested.


    RE Perl: To instruct Perl to install to another directory, for example to ~/opt/perl5, put the following lines somewhere in your bash init files.

    export PERL5LIB="$HOME/opt/perl5/lib/perl5${PERL5LIB:+:${PERL5LIB}}"
    export PERL_LOCAL_LIB_ROOT="$HOME/opt/perl5${PERL_LOCAL_LIB_ROOT:+:${PERL_LOCAL_LIB_ROOT}}"
    export PERL_MB_OPT="--install_base \"$HOME/opt/perl5\""
    export PERL_MM_OPT="INSTALL_BASE=$HOME/opt/perl5"
    export PATH="$HOME/opt/perl5/bin${PATH:+:${PATH}}"
    

    Though you need to re-install the Perl packages you had previously installed.

    • [This comment has been deleted by an automated system]

      • I didn't like the capitalised names so configured xdg to use all lowercase letters. That's why ~/opt fits in pretty nicely.

        You've got a point re ~/.local/opt but I personally like the idea of having the important bits right in my home dir. Here's my layout (which I'm quite used to now after all these years):

        $ ls ~
        bin  
        desktop  
        doc  
        downloads  
        mnt  
        music  
        opt 
        pictures  
        public  
        src  
        templates  
        tmp  
        videos  
        workspace
        

        where

        • bin is just a bunch of symlinks to frequently used apps from opt
        • src is where i keep clones of repos (but I don't do work in src)
        • workspace is a where I do my work on git worktrees (based off src)
You've viewed 18 comments.