[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?

38 points · 16 comments · view on lemmy.world

16 Comments

jack000999@lemmy.fmhy.net · 23 pts · 2y

The appropriate directory's are the XDG Base Directory, check this page on arch wiki to move them correctly. You can also use xdg-ninja and it will scan for these extra directories on your $HOME and tell you what you need to do to move them to their appropriate location or not if these directories are hardcoded or cannot be moved.

lelgenio@lemmy.ml · 11 pts · 2y

~/go is created when compiling go programs, you can change it's location with the GOPATH environment variable to something like GOPATH=$HOME/.local/go, and moving the directory there.

Never seen ~/perl5, could you provide the output of perl -V

akash_rawal@lemmy.world · 9 pts · 2y (2 replies)

I don't like the mess some software makes when it install in my system

I gave up bothering about this a decade ago and I just store my files elsewhere while software treat the home directory as 'application data'.

MrSpandex@lemm.ee · 3 pts · 2y

Agreed - I'm much happier with my /files directory. Not to mention I have no interest in organizing my files by type (photos, documents, music). Instead I have directories like house, finances, podcasts, etc.

I just wish programs wouldn't take the XDG directories so seriously and default to those locations. I'd rather they always default to last saved directory.

kariboka@bolha.forum · 2 pts · 2y

gotcha, yeah, I think I will try the same. I used to do this in windows because it is a mess.

bahmanm@lemmy.ml · 4 pts · 2y (2 replies)

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.

skullgiver@popplesburger.hilciferous.nl · 1 pts · 2y (1 reply)

[This comment has been deleted by an automated system]

bahmanm@lemmy.ml · 1 pts · 2y

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)
burtek@programming.dev · 4 pts · 2y (1 reply)
  1. You don't 🙃

/s Sorry, I had to 🤣

kariboka@bolha.forum · 3 pts · 2y

lol

EqMinMax@lemmy.world · 3 pts · 2y (1 reply)

I see syncthing; I comment this.

kariboka@bolha.forum · 1 pts · 2y

OK

beerclue@lemmy.world · 2 pts · 2y (1 reply)

Try xdg-ninja to learn how to move them (and everything else) away from your home directory.

kariboka@bolha.forum · 1 pts · 2y

Thanks!

rinaderp@wetdry.world · 1 pts · 2y (1 reply)
  1. usually ~/.config/PROGRAM_NAME/

You probably want to look into $XDG_CONFIG_HOME and the freedesktop spec documentation if you are interested in more of where these standards come from:
https://specifications.freedesktop.org/basedir-spec/latest/ar01s02.html

(and more generally)

https://www.freedesktop.org/wiki/Specifications/

kariboka@bolha.forum · 1 pts · 2y

Thanks!