Live data from Hacker News

Tips on how to structure your home directory (2023)

unixdigest.com

41–50 of 172 posts

Re: Tips on how to structure your home directory (2023)

#41
post #37

I have found it surprizingly difficult to categorize my files in a way that is elegant and intuitive. I've been meaning to look into FUSE for a tagging-based system instead of the current hierarchical one, although I suspect that the difficulty of categorizing things is unlikely to go away even with tags.

The underlying problem is that the way your brain works doesn't really map well into categories. Text searching sometimes works, but has the same problem. Source: Nearly two decades ago we worked on this problem and read a bunch of research. We ended up making an app that let you input multiple facets to narrow things down, with the basic view being a calendar: https://nemo-docs.com/ We didn't have anyone marketing i…

> The underlying problem is that the way your brain works doesn't really map well into categories. Text searching sometimes works, but has the same problem.

What did you find that works ?

Re: Tips on how to structure your home directory (2023)

#42
post #35

I hate having a polluted home directory, especially when an application thinks it should get a non hidden directory in my home! The one that upsets me the most is the default directory for go modules `~/go`. This frustrates me so much. I refused to install any go apps or use it for development for years. I've unfortunately had to give in, and it can at least be overridden by setting `GOPATH`, but it is a terrible, te…

Same thing, wish that from the start unix had some standardized "applications put everything they want here" home directory that's separate from the "here user chooses to put their own files" home directory

Re: Tips on how to structure your home directory (2023)

#43
post #20

The only things in my home directory (note: I use Windows, but the convention still applies) are stuff that demand to be in there, like savegame files and software like Discord which demand to reside in %appdata% or else. My stuff are found literally everywhere but, usually in their own drives and partitions.

Same. I’ve relinquished control over all the OS-provided directories to Adobe and Microsoft and go and whatever else assumes I want its crap in those locations.

Above someone jokes about just putting everything in Desktop, but honestly, it’s what realistically winds up happening. I can’t be bothered to manage files myself, really. Mostly, the apps I use know where their things are, I have a rudimentary system for archiving finished work, and the rest I can handle with search.

I’m just not in any way geared to be a file clerk or self librarian. Fortunately I have a machine that is very good at those things

Re: Tips on how to structure your home directory (2023)

#44
post #35

I hate having a polluted home directory, especially when an application thinks it should get a non hidden directory in my home! The one that upsets me the most is the default directory for go modules `~/go`. This frustrates me so much. I refused to install any go apps or use it for development for years. I've unfortunately had to give in, and it can at least be overridden by setting `GOPATH`, but it is a terrible, te…

The worst offenders are CLI tools written by people on Macs that do not respect XDG, because it's not a thing over there. So every tool gets to pollute your dotfiles with its own stupid directory. .rustup, .mix, .npm, .yarn, etc.

But polluting your home directory like ~/go, without even the decency to hide it, is extremely rude and offensive.

Re: Tips on how to structure your home directory (2023)

#45
post #35

I hate having a polluted home directory, especially when an application thinks it should get a non hidden directory in my home! The one that upsets me the most is the default directory for go modules `~/go`. This frustrates me so much. I refused to install any go apps or use it for development for years. I've unfortunately had to give in, and it can at least be overridden by setting `GOPATH`, but it is a terrible, te…

IMO, the GOPATH itself is a terrible design. It makes you mix together things from unrelated projects in the same directory structure, instead of each project having its own independent directory structure, like on every other programming language. The GOPATH design goes so much against the way I organize my projects, that it's the main reason I have never got interested into learning Go.

Perhaps this design makes more sense for those who prefer to keep several unrelated projects together in a single monorepo, but that's not my preference.

Re: Tips on how to structure your home directory (2023)

#46
post #45
post #35

I hate having a polluted home directory, especially when an application thinks it should get a non hidden directory in my home! The one that upsets me the most is the default directory for go modules `~/go`. This frustrates me so much. I refused to install any go apps or use it for development for years. I've unfortunately had to give in, and it can at least be overridden by setting `GOPATH`, but it is a terrible, te…

IMO, the GOPATH itself is a terrible design. It makes you mix together things from unrelated projects in the same directory structure, instead of each project having its own independent directory structure, like on every other programming language. The GOPATH design goes so much against the way I organize my projects, that it's the main reason I have never got interested into learning Go. Perhaps this design makes mo…

GOPATH actually made me realize that the

~/src/$host/$owner/$repo

organization structure makes a ton of sense for every project and as long as you organize all of your languages into this one tree, everything just works.

Re: Tips on how to structure your home directory (2023)

#47

calvin@bison:~/work$ tree -d | head . ├── 2022 │ ├── 04 │ │ ├── 19 https://git.ceux.org/today.git/about/ so i open my shell, it drops me into ~/t/, which is symlinked to ~/work/YYYY/DD/MM. my GTK file picker is also setup to automatically give me the last 3 days on the bookmark bar. Time is not the _best_ heuristic, but it's not bad. screenshots from scrot all get dumped into ~/screenshots/ by date. the only real 'fo…

calvin@bison:~/work$ tree -d | head . ├── 2022 │ ├── 04 │ │ ├── 19 > so i open my shell, it drops me into ~/t/, which is symlinked to ~/work/YYYY/DD/MM Please confirm you are not a monster and that you meant /YYYY/MM/DD.

Now I'm wondering what month "19" is named...

Re: Tips on how to structure your home directory (2023)

#48
Beyond organization, I want to concisely back up and port between machines.

The `.config` folder is a big headache when trying to be strategic about backups due to apps putting gigs of session data there.

"session data" is not "config", consarnit! An app's "config" shouldn't be gigs large. Grumble grumble, grouse grouse, and so on. :^)

Re: Tips on how to structure your home directory (2023)

#49
post #35

I hate having a polluted home directory, especially when an application thinks it should get a non hidden directory in my home! The one that upsets me the most is the default directory for go modules `~/go`. This frustrates me so much. I refused to install any go apps or use it for development for years. I've unfortunately had to give in, and it can at least be overridden by setting `GOPATH`, but it is a terrible, te…

Pro tip: don't put your stuff in your $HOME directory. $HOME is for applications to pollute. Put your stuff literally anywhere else.

Re: Tips on how to structure your home directory (2023)

#50
I actually have quite a simple structure that serves me well (your mileage might vary)

  projects/
    2023/
    2024/
      0000-something/
      0312-other-project/
      0419-hn-comment/
each year I make a year folder. And each project has a month + day prefix. Sometimes I want long term projects to pop up on top, so I prefix them with 0000 (or only make the day 00).

It is simple, works on any OS. Although on Linux I do have some helper scripts. And it is very easy to quickly make a directory and move files from downloads into this directory. Keeping the nesting only one level deep helps for the discoverability. (versus the YYYY/MM/DD pattern which uses an extra month level)

Post reply on HN