[Help] go and perl5 folders in ~/
i.imgur.com
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?
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.
~/go
is created when compiling go programs, you can change it's location with the GOPATH environment variable to something likeGOPATH=$HOME/.local/go
, and moving the directory there.Never seen
~/perl5
, could you provide the output ofperl -V
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'.
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.
gotcha, yeah, I think I will try the same. I used to do this in windows because it is a mess.
Don't know about perl but for go you need to look up setting gopath like here https://stackoverflow.com/questions/10838469/how-to-compile-go-program-consisting-of-multiple-files/61793820#61793820
cool, thanks!
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.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):where
bin
is just a bunch of symlinks to frequently used apps fromopt
src
is where i keep clones of repos (but I don't do work insrc
)workspace
is a where I do my work on git worktrees (based offsrc
)/s Sorry, I had to 🤣
lol
I see syncthing; I comment this.
OK
Try
xdg-ninja
to learn how to move them (and everything else) away from your home directory.Thanks!
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/
Thanks!