Ask HN: How do you organise your hard drive? - <AUTHOR> By project, by tool?  What do you do with pdfs and reference stuff, surely not Dewey Decimal? <comment><USER10>
      - bunch of random files in ~/Desktop/
      - more random files in ~/Desktop/old/
      - more more random files in ~/Desktop/old/old/...
      - real stuff in ~/dev and ~/Site/
      - a mix of important and unimportant files in ~/Downloads/

<comment><USER11> \- Desktop has the same fate this ^. Have a CLI tool that takes everything from the desktop and puts it in ~/Desktop/cleaned/

\- _~tools /dotfiles/_ hosts all dotfiles with a Makefile that sets everything up

\- _~tools /<randomTools>_ \- contains mostly useful utilities and scripts like fonts, vpn configs, terminal color schemes, config patches to apply to `/etc/` after fresh install etc.

\- _~Projects /<client|company>/<project_name>_ for paid work projects

\- _~Projects /<projectName>_ for personal projects

\- _~Playground /<experiment>_ for experiments, prototypes or building software from github out of curiosity

\- _~Applications /<appName>_ for apps I build from source and copy/link binaries to `~/bin`. I'm on Linux so this is non-standard.

\- _~GoogleDrive /<accountName>_ for Google drive sync with Insync

\- _~Vaults /<vaultName>_ for mounting cryfs encrypted directories from the Google Drive directories. (some times use plasma vault for this)

<comment><USER12> +1 for Playground/ I was just trying to decide where to put some experiments I was working on and Tests/ just didn't look right :-)

<comment><USER13> I called my version of this ~/sandbox.

<comment><USER12> Yeah I like this too. Perhaps I use playground/ for when I am in a good mood and sandbox/ when in a bad mood.

<comment><USER14> playground/ when you expect things to be clean

sandbox/ when you're ready to get messy

<comment><USER12> +2 Yeah that is so much better.

</comment></comment></comment></comment></comment></comment></comment><comment><USER15> "...surely not Dewey Decimal?"

Close! Johnny.Decimal. [https://johnnydecimal.com](https://johnnydecimal.com)

I'm Johnny. Feedback much appreciated, I'm working like a busy little bee on the site as we speak. Should have a show HN app ready in a couple of months, but I'm learning JS/React as I go so it's taking time. :-)

<comment><USER16> I'm actually using Johnny decimal now, except that I ended up using 100 buckets instead of 10 because some of the categories simply had too many items in them and they would have overflowed or had no room to grow in them otherwise.

It's so nice to have a good system and never doubt where to find something and where to put a new thing.

I switched from our previous mess to Johnny decimal by using a python script that processed a table in an emacs org mode file. The script filled the rows in the table with the file and directory names and I could then assign a category to each file or directory and say what the script should do to them. Then the script showed the outline of my Johnny decimal system so I could check that's what I wanted. This made it easy to play around with possible categories for all my existing stuff until I was satisfied. In the end it copied all the files to their new home.

Thanks for creating Johnny Decimal.

<comment><USER15> That's amazing to hear. Thank you!

I have come across situations where you need more than 10, yes. I plan on addressing it in a future post on the site.

If you're able to share, I'd love to know more about your case. If not, no stress. firstname.lastname@example.com.

<comment><USER17> Johnny.Hexadecimal?

</comment></comment></comment></comment><comment><USER18> Using domain names and symbolic links. Seriously.

        github.com/omeid/upower-notify
        omeid.net/family/photos
        omeid.net/friends/joe/2018-royal-national-park-hike -> omeid.me/hikes/2018/royal-national-park
        omeid.me/hikes/2018/royal-national-park -> omeid.me/hikes/royal-national-park/2018
        omeid.me/blog
        omeid.me/id
        some-company-i-work-for.com/projects/alpha-transit
        some-company-i-work-for.com/legal/contracts -> omeid.me/contracts/some-company-i-work-for.com
        some-department.some.gov.au/projects/speed-view -> github.com/some-department-speed-view

And so forth.

<comment><USER19> I started this route after being influenced by GOPATH. Can't imagine anything else now.

<comment><USER20> Same for me: I have a program that indexes Git repositories in $GOPATH and provides fast access:

      $ cg gh:foo/bar
      $ pwd
      /x/src/github.com/foo/bar

Source is at [https://github.com/majewsky/gofu/tree/master/pkg/rtree](https://github.com/majewsky/gofu/tree/master/pkg/rtree), README is at the top of the repo.

</comment></comment></comment><comment><USER21> One thing that changed my life is z, a utility to navigate easily to arbitrary directories based on frecency. Makes dir structure a bit less relevant; with z the distance between any two dirs is effectively constant.

[https://github.com/rupa/z](https://github.com/rupa/z)

         	By project, by tool? What do you do with pdfs and reference stuff, surely not Dewey Decimal?

~/proj ---> all my current projects and stuff i've pulled down from GitHub so I can examine it. usually 20 or so. subdirs for employer, etc

~/Dropbox/personal ---> scanned documents, receipts, etc

~/Dropbox/work ---> subdirs per client/employer

~/Dropbox/ebooks ---> organized into subdirs by topic

~/Dropbox/pdfs ---> web pages i've "printed" to pdf for archiving/reference. organized into subdirs by topic

~/Desktop/old ---> the "junk drawer" i occasionally clean out. doesn't get too big

~/Music ---> mostly just iTunes doing its thing

I also have a truckload of media (games, movies, music) stored on external hard drives since there's not much room for it on the internal SSD.

<comment><USER22> I thought 'freceny' was a typo until I clicked the link, but sadly the man page doesn't really explain what it is.

Could you maybe give a few examples of how you might find something eg. using find(1), and then how you could find it using z?

<comment><USER23> I assume it's a mashup of frequency and recency.

<comment><USER24> Indeed it is: [https://developer.mozilla.org/en- US/docs/Mozilla/Tech/Places...](https://developer.mozilla.org/en- US/docs/Mozilla/Tech/Places/Frecency_algorithm)

</comment></comment></comment></comment><comment><USER25> A bit off topic: I have a large collection of _videos_ , but organizing them was exceptionally annoying, so I built a tool: _Video Hub App_ with advanced search features and instant previews of screen-captures from each videos. Think of it like YouTube for videos on your computer: [https://videohubapp.com/](https://videohubapp.com/)

And it's now open-source: [https://github.com/whyboris/Video-Hub- App](https://github.com/whyboris/Video-Hub-App)

<comment><USER26> What a great idea, thank you so much for doing this! I'm pumped to try it out.

</comment></comment><comment><USER27> I have a fairly specific system that I've developed, mostly due to my being fairly anal about not wanting to leave random files lying around after I'm done with them and wanting to keep as little as possible in my home directory. I tend to try to keep most things in my directory that's sync'd to cloud storage (previously Dropbox, now Nextcloud since Dropbox doesn't support non- ext4 on Linux); ~/Documents and ~/Pictures are both symlinks into that folder so that I don't have to keep track of which machine something is on. I try to keep my ~/Downloads directory fairly clean, and move things to the trash liberally (through trashcli) once my initial use is finished so that I can still access them later if I need to. The only other two (non-hidden) directories I keep in my home directory are ~/dotfiles (which is a private GitHub repo that I symlink my dotfiles from) and ~/code, which has subdirectories for various categories (`forks`, `scripts`, `projects`, `scratch`, and maybe a few others I'm forgetting). Finally, I have a ~/.scratch directory where I put text files I use to take notes, short scripts I write to test something, and other files I only need for a short time.

<comment><USER28> Which fs are you using nextcloud with? Is it as seamless as ext4 with Dropbox?

<comment><USER29> I ditched for the same reason - I run btrfs on my workhorse machine. I'm very happy with nextcloud (though it leaves something to be desired as a developer who wants to contribute). The biggest difference though, is that now I have a product that beats the hell out of any cloud storage provider. 6TB of space (drives I had lying around, basically), integrated with Plex and my Roku, encrypted off-site backups (free azure allotment from my work, but pennies anyway), and better use of my internet connection. If I need more space, I can buy it very very cheap as a one time expense. I never have to go back to Dropbox again. Feels good, man.

</comment></comment></comment><comment><USER30> Hierarchy starts in Documents. $name is employer name

\- .{$name}

      - {$name} Administrative = my personal corporate footprint.  W-2s, onboarding, perf reviews, etc

      - {name} Projects

        - PMO Projects

        - Leadership Projects

        - Team Projects = internal initiatives

        - Administrative Projects = stuff like, we need to update our service catalog portfolio or create a new RACI

        - Application Projects = stuff like, "migrate the Fruitbasket database's nonclustered indexes and staging tables to new filegroups".  Small technical projects, surfaced by our team

      - {$name} Troubleshooting

        - YYYYMMDD-$app-problem-desc = all the documents and data for a specific issue.  Log dumps, AARs, executive summaries

      - {$name} Management

        - <USER2>

        - Budgeting + Forecasting

        - <USER3>

        - Technical Portfolio

        - Team Members

        - SLAs / OLAs

        - <USER4>

        - <USER5>

      - {$name} Documentation

      - {$name} Forms and Templates

      - {$name} Meetings = all meeting agendas and write ups.  Each is a txt file named as YYYYMMDD-stakeholder/app-topic.  Can be a tossup whether a meeting write up goes here or in a project folder.

      - {$name} Change Management = docs and data for each change I'm either submitting or implementing.  Each sub folder named by the Servicenow ID and a description.

      - {$name} Operations = heat maps, log dumps, baselines, WIP documentation.  Much of this is getting moved to github.

</comment><comment><USER31> I have a few folders under home I've used regularly for many years:

      docs
      projects
      build
      bin
      crap

_docs_ contains documents organized into subcategories like _biz_ and _personal_.

 _projects_ contains all my various paid and personal programming and hardware projects; each in their own subdirectory.

 _build_ is a playground for building and trying out new software.

 _bin_ contains non-packaged executables. I find _/ usr/local/bin_ to be a poor alternative because it has to be moved separately when I install a new OS.

 _crap_ contains subdirectories in the format _YYYYmmdd_. E.g. _20190105_. Whenever I accumulate too much crap in my home directory, I move it all to _~ /crap/$(today)/_. _today_ is an alias for _date +%Ymd_.

</comment><comment><USER32> For organizing files I can suggest a combination from meaningful folder structure and tags. Mac OS offers a great way to organize files with tags, but it is limited only for the Apple world. There are bunch of tools offering organizing files with tags, but most of them are cloud based or use databases for storing the tagging information. Both ways are locking your files in a third party systems in some way. A tool for organizing local files and folders with tags lacking these limitations is TagSpaces. If is open source and freely available from [https://www.tagspaces.org](https://www.tagspaces.org)

</comment><comment><USER33> If you happen to be fishing for app ideas, here's one I'd pay $50 for:

An app that controls `~/Downloads` and automatically organizes (somehow), tracks usage and schedules files for deletion.

Once a week I'd like to see a dialog listing files likely to be unwanted, info about how many times they've been accessed, where they came from, etc. With a simple, one button, 'trash them all'.

The idea would be to optimize sets of files so they're more likely to be 'all trashed' because they aren't useful anymore, while minimizing situations where you want to trash all but a few and have to spend time managing that.

Not sure what the heuristic would be.

<comment><USER34> One of the biggest regressions in modern browsers is how they all automatically download to the Downloads folder. I really miss the dialogue you used to get where you'd get asked where you'd want to save the file (im aware you still get that if you right click and go "save as" but that's not always possible with some sites).

<comment><USER35> You can disable auto download in settings of Chrome, Firefox and many other browsers. You get the Save dialog then.

On the other hand, I like that all stuff goes to Downloads and you can handle it with your favourite file manager that is much better than zhe default save dialog.

<comment><USER34> > _On the other hand, I like that all stuff goes to Downloads and you can > handle it with your favourite file manager that is much better than zhe > default save dialog._

You still get to handle it with a file manager with the dialog, only with the added bonus that you don't have to manually launch it, navigate to where it's been auto-downloaded to, then cut and paste it to where you actually wanted it.

</comment></comment></comment></comment><comment><USER36> Slightly OT, but I yesterday launched my script [1] to go through 2 decades of family photos (200GB) that are structured in no sensible way (i.e tree depth of over 6 and over 500 folder with no descriptive names) and organize them.

The script will copy the files, ignoring duplicates, and format them as follows. Files are renamed to their date of creation (when the photo/video was taken/shot), e.g. 2019.01.07_08.28.34.jpg, and then stored in folders sorted by year.

ETA is 40 hours for the remaining 150GB. I suspect that the bottleneck is my network (running the script on my PC, but the photos are available through NFS). I assume it would go much faster if photos are stored on the same computer as the script is being run on.

Anyway, I thought this might be relevant for anyone who wants to get a grip of their photos :)

PS: would greatly appreciate style/performance/correctness tips on the code AND recommendations of any other naming strategy you deem better than my approach!

[1]: [https://github.com/johan- andersson01/photo_renamer](https://github.com/johan-andersson01/photo_renamer)

<comment><USER36> An update for the curious:

I reduced the total running time of ~60 hours to ~3 hours by connecting my PC and my server directly with an ethernet cable :)

</comment></comment><comment><USER35> All downloaded files go to huuge ~/Downloads. Files to be preserved are then moved to more appropriate location. From time to time I delete oldest and biggest files from Downloads.

Photos and videos go to Personal folder organized by year and event (ie. 2018/Cristmas). Web development is in /var/www, /var/node per-project. NetBeans projects in default location Company stuff to $companyName/documents $companyName/projects etc. Documents that are related to specific point in time are prefixed with YYYY or YYYYMMDD. Documents that are subject to change are siffixed by v1, v2... Movies go to movies folder, ebooks and audio books to books folder - organized per-title. Music goes to music folder in artist/album structure. Disk images, install packages go to Install folder. Personal documents are just a messy Documents folder.

Symlinks are used when data is stored in other location than it belongs to (ie. due to size or fixed path requirements)

I have few tmp folders where is stuff that I can afford lose at any time (but I am too lazy to delete)

I backup all important folders with rsync to remote location.

<comment><USER37> Out of all other comments in this thread, my file structure matches yours most, except company. My Dropbox is about 30gb, it has Apps for all webapps saving data to Dropbox from IFTTT, android, etc. Documents has all documents with subfolders like 01 Education, 02 Work, 03 Passport, 04 Indian etc. Then Photos, etc.

</comment></comment><comment><USER38> 128gb personal Macbook Pro, which requires being somewhat creative.

* Lightroom collection (library & photos) on Samsung T5 external drive

* GoPro video collection also on Samsung T5 external drive

* All sites, organized by domain name, in /Sites/ (Use DNSMasq + Apache vhosts to map the folder to sitename.mac domain locally)

* Various github clones in ~/Clones/

* Nonsite code projects in ~/Projects

* Google Drive folder:

      * personal will/last wishes: "_In case of emergency/"

      * scanned things: documents/

      * so many tax docs: legal/

      * college/design projects: projects/

And finally, Google Photos for all photos (turned off icloud photos). 10 years of photo arquives is so cool. I want to switch to something more private though, maybe Synology has something similar when I upgrade to a NAS

Backup strategy:

* Home folder: Arq to Google Drive (in appdata folder)

* /Sites/ folder: Arq to Google Drive

* Google Drive to Google Drive

* Samsung T5: Arq to Google Drive

Summary: Paid G Suite for business account for my wife and I provides ample backup storage online, but eventually I'd like everything to live at home and only encrypted backups on S3, when I want to drop $700 on a decent NAS setup.

<comment><USER38> Update: Synology does have what looks like a Google Photos replacement ([https://www.synology.com/en- global/dsm/feature/moments](https://www.synology.com/en- global/dsm/feature/moments)). Anybody who's used it care to share experience?

<comment><USER39> I tried it and my (albeit 2 year old) Synology ds416j didn't have the horsepower for the app.

Please forgive the self-plug, but if you have the time and inclination, I'd love to get your feedback by trying a beta build of PhotoStructure, which currently has ports for Mac, Linux, and Windows, but I've designed it to also be runnable on headless boxes, like on your NAS (I just haven't had the time to build installers and updaters for those platforms yet, and frankly I have no idea what the demand would be for those ports).

The signup is on the home page, [https://photostructure.com/](https://photostructure.com/). Feel free to send me an email at hello (at) photostructure.com if you have any other questions.

</comment></comment></comment><comment><USER40> My approach to file management is delegation:

\- Most files go straight to the default recommended location. This includes downloads, git repositories, programs, etc.

\- Source code is on GitHub.

\- Emails are on Gmail.

\- Notes and todos are on Google Keep.

\- Books are on Google Drive in PDF or EPUB format.

\- Photos and videos are on Google Photos and YouTube.

\- Music is on Spotify and YouTube.

\- Movies are on Netflix, or in the Downloads folder (until they're watched and deleted).

\- Documents and scans are on Google Drive. If I must name a file, I use this convention: "Some_Description-20190106.ext". I mostly rely on search, but I have some high-level folders as well: Books, Health, Finance, Travel, Work, School, Scans, Thoughts, Projects, AppData, Backups.

In 2019, I want to migrate from files to a database. My plan is to extract knowledge from files and online services, and them into a RDF triple store:

\- Google

\- Keep

\- Maps

\- Fit

\- Contacts

\- Gmail

\- Calendar

\- Reddit

\- Hacker News

\- Pocket

\- Amazon

\- eBay

\- Mint

\- Bitcoin

\- MyFitnessPal

\- Chrome

\- LinkedIn

\- Twitter

\- Facebook

\- GitHub

\- 23andMe

\- iCheckMovies

\- GoodReads

\- YouTube

\- Spotify

\- Netflix

\- IMDB

\- VoIP.ms

\- Airbnb

\- Uber

\- Agoda

\- Booking

\- TripAdvisor

Lastly, I want to make a lot of this data public. I'll start by releasing the source code of old/ongoing projects on GitHub and release my ideas/thoughts on my blog.

<comment><USER41> Since you seem to store everything on various Google services, what is your backup strategy in case you loose access to your account?

<comment><USER40> 1\. Keep backup codes [1]

2\. Download your data [2]

[1] [https://support.google.com/accounts/answer/1187538](https://support.google.com/accounts/answer/1187538)

[2] [https://support.google.com/accounts/answer/3024190](https://support.google.com/accounts/answer/3024190)

<comment><USER42> I think the GP meant what if Google erroneously block access to your account for a supposed T&C violation or what have you.

<comment><USER40> Option 2. You can download all you data.

</comment></comment></comment></comment></comment><comment><USER43> * ~/Projects/<git-repo-name> \- all my git repos

* ~/.bin - only scripts, so this dir is in my $PATH

* ~/Pictures - only images, my rices, wallpapers, screenshots, etc

* ~/syncthing - files I sync with syncthing (my .kbdx and my memes folder)

* ~/Documents/<topic> \- my university stuff, a courses folder (files I created doing some courses), some cheatsheets in .md, a library folder where I keep all material I have colected throughout my life, and a backup of my memes folder

* ~/suckless - suckless software with my modification (dmenu, dwm and st)

</comment><comment><USER44> The same way I organize my whole life, everything is either new and unprocessed, being processed, or done.

\- unprocessed, unsorted, new information: /Downloads

\- currently being processed or worked on, otherwise empty, synced to NAS: /Documents /projects

\- processed / finished / rarely accessed: /archive on NAS, indexed, backed up to backblaze

/archive also contains all media in a neat folder structure, but indexed (by the NAS) and searchable through Finder.

This way my work folders stay clutter-free except for current projects/work

<comment><USER45> This is good. I might try to adopt it.

</comment></comment><comment><USER46> Check out [https://www.reddit.com/r/datacurator/](https://www.reddit.com/r/datacurator/) and [https://www.reddit.com/r/datahoarder](https://www.reddit.com/r/datahoarder)

Been there and learnt some good directory structure for keeping archive and organizing my NAS, from MP3, Games, Installer, OS iso to VMs, tutorials, pdfs, etc

</comment><comment><USER47> C: drive all temporary files like currently downloaded movies & music and default path files.If lost no worries.

D: Personal, Educational PDFs, Video tutorials and projects.

E: drive for videos, music and games data files.

D&E drives rsync with Google storage buckets. (GSUTIL)

Housekeeping - PDFs and Tutorial videos which I haven't referenced in 2years will be eventually deleted. On first identification I will rename the folder as CBD - Foldername(cbd - can be deleted). Next time when I am browsing files in explorer if a CBD catches my eye, I will delete it. I Regularly run dir /s and save output in TXT file for reference purposes, only one time I opened it. Decided not to rename any downloaded files as using the same name it can be found again by googling, if I rename it it's hard to find in internet. I also use a duplicate finder to find and delete duplicate files.

Project files are in google source repository and partially in GitHub & bitbucket as well.

For references links, Have a set of files named it on the subject like java.txt, git.txt, gcp.txt which contains all the commands and links which I had found useful and I am typing it regularly in marked down format itself, so it looks fancy in vscode. This reference is in D:\

</comment><comment><USER48> Everything inside I:\home\ with over a decade of shifting hierarchical patterns slowly accumulating.

Under I:\home\: archive, art, bin, configs, data, financial, logs, media, notes, photos, projects, scans, scripts, utility, vms, website, writing. (I should merge utility into bin...)

I:\home\archive\ is a mostly write-only repository of backups of other stuff (exports of bookmarks, email, old computers, old installers/isos I want to keep, etc.)

I:\home\media\ is mostly external media and further subdivided into: blender, books, comics, composing, documentation, downloads, flash, midi, music (mp3s), pdfs, pictures, recorded, screenshots, sounds, ttyrecs.

I:\home\notes\ is an ever shifting collection of .txt files, only going one or two more folders deep (fiction, game design, gaming, hobby, jobs, journaling, productivity, programming, security, self, social, style, web, etc.)

I:\home\projects\ is currently mostly a flat list of programming projects, mostly gamedev related - I have custom tools to scan it for .projnfo sub- directories containing screenshots and known files like description.txt for metadata, which are compiled into a single easy to scan html page to rediscover projects I've previously abandoned. I abuse prefixes / naming schemes to organize stuff some too (E.g. mmk.foo.bar for typescript libs, libMmk* for C++ libs, mmk_xyz for Rust projects, CamelCase for C#, www_xyz for non-library typescript projects). Current exceptions to the flat list all start with an underscore: _other (other people's projects I'm contributing to or building), _test (throwaway projects for testing compiling things), _templates (copyable projects), _nupkg (local C# nuget packages). Previously I also had "new", "stable", and "dead" categories, but I got rid of them as not useful and making my project paths unstable.

My bookmarks are a little more consistent/'modern': A bunch of icon-only bookmarks directly on my bookmarks bar, one layer of top level categories (currently "Life", "Work/Dev", "Art", "Music", "Play", "Self & Social") with one more layer of subcategory underneath that. I configured a "search engine" such that typing "b asdf" searches my bookmarks with the url chrome://bookmarks/?q=asdf , which is the most important bit - the folders are often just there to give me search terms.

</comment><comment><USER49> Few people here have referred to the /tmp directory. This is essential in my workflow. I put a lot of things there (this is also my Downloads folder) and when the computer reboots, its clean again!

One of the computers I use stay turned on for long times, so I have /tmp/t and a cronjob that cleans all files older than 1 day in this directory:

        # Remove all files in /tmp/t older than 1440 min (one day)
        */10 * * * * find /tmp/t -cmin +1440 -delete > /tmp/.find-delete-1440.log 2>&1

Besides that, I have a lot of bunches in $HOME. dot.files, dot.vim, dot.mutt, etc., are all in private git repositories and I have a "~/s" directory I keep synchronized among different machines with rsync (I don't trust Google nor Dropbox). I was thinking about starting using Syncthing [1], though.

[1] [https://syncthing.net/](https://syncthing.net/)

<comment><USER50> Using /tmp for my downloads folder became problematic for me when downloading big files.

1\. You may want to pause the download and restart it after reboot.

2\. It's quick to redownload small files but a pain to have to redownload large ones.

3\. Arch puts /tmp on a tmpfs, so big files can eat all your memory!

</comment></comment><comment><USER51> I run all my computers in roughly the same way, be they Mac or Windows (although I don't have Dropbox on my Windows machines, and OneDrive for Business runs only on my work machines):

\- Everything goes into a cloud-backed folder (even git repos)

\- I follow a Mac-like hierarchy on all services (Documents, Development, Library, Pictures, etc.)

\- Inside each top-level folder, I have subfolders for each context (Personal, Customers, GitHub, Travel, Expenses, etc.)

\- Any truly confidential files go into encrypted disk images that are also synced to the cloud (old habit from pre-Dropbox days). Each image has a similar hierarchy inside.

Some example filenames:

\- ~/Dropbox/Documents/Home/Blueprint.blend

\- ~/Dropbox/Pictures/Unsorted (exported from iCloud for triage)

\- ~/Dropbox/Pictures/To File/2018/12 (Good pics from Xmas)

\- ~/Dropbox/Development/GitHub/piku (my PaaS wrapper)

\- ~/OneDrive/Development/Infrastructure/terraform-azure-ha (an ongoing work sample)

\- ~/OneDrive For Business/Library/Presentation Resources

\- ~/OneDrive For Business/Customer Deliverables/WidgetCo/Project X

Being systematic helps. And yes, I keep git repositories on both Dropbox and OneDrive (accessible to WSL in the latter case), and it has worked flawlessly for ages, even across platforms. As long as you're the single human accessing them, they work fine and sync across without conflicts or corruption.

Edit: I don't keep files on the Desktop unless they're a slide deck I'm going to present within a few hours or shortcuts to stuff for demos, and have scripts to tidy up my Downloads folder as well...

Oh, and I name my work documents 'YYMMDD Foobar.ext', too. Helps tremendously when you go back to a project to place things in time, and also in searches (I seldom have to type more than 4 digits to get to a file)

<comment><USER52> This is pretty much my system too. Including the YY(YY)MMDD naming, even for folders.

Only except keeping all the repos inside Dropbox, I regularly rsync my working folders to Dropbox (to prevent Dropbox from constantly reindexing and eating my CPU).

</comment></comment><comment><USER53> I have 3 subdirectories in my home directory:

       doc/
       incoming/
       projects/

Under doc/ I have a few sub-categories

       comp/
       edu/
       fin/
       jobs/
       lang/
       org/
       ...

This is where I put things I intend to keep, whereas projects/ is for things I'm working on. There are files in doc/ that I change often as well, so maybe I don't really need two separate directories...

And incoming/ is where downloaded files go, temporarily, until I delete them or move them to a proper location.

The only tool I use is a filename normalisation tool that I wrote myself, so that filenames don't contain spaces or capital letters which slow me down on the command line.

</comment><comment><USER54> Even with sane organization, things get messy quickly. I use everything.exe [1] on windows. It is much better than Windows search.

[1] [https://www.voidtools.com/downloads/](https://www.voidtools.com/downloads/)

<comment><USER55> +1

Am still looking for the kinix alternative

</comment></comment><comment><USER56> I keep all my very current projects on the desktop along with temporary items and odd-balls I haven't classified. Everything else goes into folder called "A Reference System" which contains a folder for each letter of the alphabet.

<comment><USER57> > Everything else goes into folder called "A Reference System" which contains > a folder for each letter of the alphabet.

Wouldn't it be easier to just keep the directory structure flat, and use software to jump between letters? For instance, on macOS I can just press the "C" key and Finder will jump to items that start with C.

<comment><USER56> I would feel skittish without a more formal structure.

</comment></comment></comment><comment><USER58> I try to organise my hard drive as if it could die anytime.

~/Downloads: everything downloaded will be stored here. Nothing here should be backed up. Nothing here will still be important in a month. If it should, then move it to ~/Documents

~/Documents: everything here is important such as scanned documents, invoices, pdf files, settings, configurations etc. Each file is backed up somewhere else continiously.

~/src: all code goes here. Default "git pull" location. No sub folders except "test"(ease on muscle memory). No backup needed since all has remote origin as well.

~/src/test: code, git, and bash experiences goes here.

In this way, if my hard drive fails on me, i think, i will not have huge problems.

</comment><comment><USER59> I have one simple rule that I (magically) am able to stick with for so long - make sure you clean up at the end of the day. No file on Desktop/Downloads, file things in their rightful place - or delete right away if it's not important.

Sound mundane, but once you _just_ did it, it usually took about what, 5 minutes? But the impact the next time you turn on your computer and see the clean workspace without guilt is great.

Another tip is the same as commenter about trash bin above - let software automatically clean things for you at certain time, and you'll never worried about it again.

<comment><USER60> This so much. It works really for your house too. I find that decluttering my physical and digital workspace at the end of the day means I'm not stressed about mess in the morning.

</comment></comment><comment><USER57> I'm on a Mac. On my main hard drive:

Applications go into /Applications, unless they're games, in which case they go in ~/Games.

Downloads stay in ~/Downloads unless I have a reason to put them elsewhere. I also clear the Downloads folder whenever I'm running out of hard drive space.

Pages documents and similar go in ~/Documents.

The Desktop is my temporary workspace, for active projects.

I have a script that automatically downloads podcasts and Youtube Videos every evening. These go in either ~/Movies or ~/Music depending on whether they are audio or video.

\---

Now, I also have a separate mirrored ZFS pool I consider my "Archive". This drive is meticulously organized to a semi-ridiculous degree I can't fully describe here, but here's an overview of the top level structure:

• Books: A collection of audiobooks, organized by series.

• Games: Video games, organized by franchise. All either DRM Free, or with patches included to remove online-activation requirements. Also roms of console games, for use with flash cards or emulators. I don't separate games by platform, because if I want to play a specific game, I'll move to the platform that game is compatible with, and not the other way around.

• Movies: Contains BluRay rips and decrypted iTunes purchases of both movies and TV shows, organized by franchise and/or season.

• Music: My (sadly small) music collection, all thrown into one folder because there aren't that many songs. I keep meaning to buy more...

• Personal: This contains my birth certificate, schoolwork, past job applications, health records, social media profile data exports, photographs, etc.

• Software: All software I've purchased or written myself, and free programs I want to remember to use again. Organized by platform (macOS X, Windows, DOS, etc.) with a separate folder titled "Multi-Platform" for anything compatible with multiple OS's. This unfortunately means that if I need to retrieve a Mac program I need to check both the Mac and Multi-Platform folders in order to find it, but I can't think of a better system.

</comment><comment><USER61> Main SSD:

A few partitions each containing critical system images like Windows 7 and a few Linux OSs, and then all non-critical system images live within /pool. My home directory is limited to 2GB because no work happens in my hypervisor OS.

Each system image has a home directory which usually contains ~/Projects, ~/Scripts, ~/Documents/notes, ~/Documents/maps.

For literature and reference materials, I use the BISAC[0] system for storage with a folder for each heading and subheading. I feed these into Calibre which maintains its own internal library so this doesn't matter much anyway.

Linux user programs are installed in /usr/local/bin which is mounted separately. Windows user programs are installed in a junctioned folder which points to a regular HDD to take some load off the SSD, at C:\Users\<User>\Apps and C:\Users\<User>\Utilities. %APPDATA% and all user libraries are also junctioned and pointing to an HDD.

I have several drives split into two LVM volume groups, with some logical volumes taking up multiple drives. These volumes are passed into my VMs, which see continuous filesystems for each category of data, such as video, music, games, and documents. That way these filesystems can be extended as needed without hassle.

[0] [https://bisg.org/page/bisacedition](https://bisg.org/page/bisacedition)

</comment><comment><USER62> I use OSX.

Projects: I have a Shared folder on ~ which has bidirectional sync with my desktop (with Resilio[1]). Inside that folder are my current projects. The old ones, are on private git repos (the codebase) and on backblaze (full replicated production project, with rclone[2]). I use Resilio because its fast, reliable and it supports ignore patters (eg node_modules)

Dotfiles: For syncing my dotfiles, ssh keys and app settings across my machines I use Mackup[3]. Life saving tool. My macbook has the exact same settings as my desktop and vice versa. I keep all my settings in a Dropbox folder and they are symlinked automatically on the machine.

General: I have 3 subfolders on Downloads. Chrome, Attachments and Torrents. Each one is self explanatory. I like my downloads to be organized, because I clean them up occasionally. I use Desktop as a temp area, therefore I don't have permanent files there. All my documents (financial, reports etc) are on Dropbox organized by year.

[1] [https://www.resilio.com/individuals/](https://www.resilio.com/individuals/) [2] [https://rclone.org/](https://rclone.org/) [3] [https://github.com/lra/mackup](https://github.com/lra/mackup)

</comment><comment><USER63> \- www -> it's a PHP convention. I put all my repos here and it gets cluttered. I cache it in a subfolder if it's not in use

\- downloads -> when I am not sure of where things should go. It gets messy here, I usually cache it in a subfolder by date range if not in use

\- dropbox/pdfs/x -> PDFs of everything

\- dropbox/photos -> organized by YYYY-MM folders. These are the original files cut-pasted from my phone with original metadata on it. I use googlephotos

\- dropbox/software -> backups of different software configs

\- dropbox/social -> a few set of images I reuse for portfolios / logos etc

\- dropbox/sharex -> I usually have all my screenshots placed in a specific folder by default

\</comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment>

I organize work files by department.

\- Operations - Common docs needed across entire company - catalogs, fill-out- forms, leasing, guidelines, SOPs, etc

\- Management - Accounting, credit references, w9 forms, HR, etc

\- Images - Asset images only, of products /events/ services etc done. These are organized by major category

\- Vendors - These are PDF/excel/word doc files from vendors, sorted alphanumerically by vendor name

\- IT -> all IT related files here, backups of databases, data, spreadsheets, etc

\- Outsource -> When I need to send a dropbox folder worth of contents to a developer, these are requirement / spec docs

</comment><comment><USER64> I'm on Linux and use primarily command line tools for development, so I often go the path of least resistance.

I use Go quite a bit, which expects (well, not as much anymore) everything to be under `GOPATH`. Instead of messing with build scripts setting environment variables, I just set my GOPATH in one place and use a tool to check out specific versions of dependencies. It's convenient to set `GOPATH` to be my home directory, so my code projects (even non-Go projects) live in `~/src/...`, and documentation lives in each repository.

For personal stuff, I use:

\- Documents - tax returns and other important docs \- Pictures - <USER6> and other mostly-worthless images \- Downloads - anything temporary; gets cleared out periodically and serves as my "temp" dir \- dot files for configuration (I don't back these up on a repo or anyone, I manually copy the 5 or so files I need) \- network share - anything large or somewhat important that only gets accessed occasionally (ISOs, family movies/pictures, etc); rely on RAID to protect it \- large HDD - games, VMs, and other large data that's not very important \- a few directories in my home directory

Documents and a few random directories get backed up off site (tarsnap), and the rest is on code hosting (mix of BitBucket, GitHub, and GitLab).

Things are somewhat orderly, but not really well thought-out. For anything that the system uses, I put it wherever the system expects it (~/.local, /etc, etc). I don't worry about it too much, and I try to purge useless crap every few months (usually aim to delete a few gigs at least, which is usually a few hundred files).

<comment><USER65> That whole GOPATH thing is the reason I could never stick with Go. I'm curious to learn how it's less invasive now. Thanks for the heads up.

</comment></comment><comment><USER66> The posts have made me realize how little I use an actual computer for day to day personal use.

My work computer has all of our repos under the \git folder

For repos that I have started it is

\git\\{project} - contains all of the CodeBuild, CodeDeploy, and CloudFormation related files as well as Word and markdown docs

\git\\{project}\src\\{language} one project can have a combination of languages and each are built differently

\git\\{project}\sql\ - usually there are some one off scripts that we need to run related to a project.

As I said above my personal computer doesn't get used as anything too much besides as a Plex server and all of my movies and TV shows are stored in the Plex recommended structure.

Photos - I don't have that many in the grand scheme of things but they are all in Google Photos and are automatically tagged and organized by date and location. I guess I should sync them to my computer to be backed up by Blackblaze.

Random Notes - in the Notes iOS app organized by subject.

Technical Ebooks in PDF format - Google Drive folder and shared with friends.

Personal documents in PDF format - in iBooks backed up to iCloud.

Resumes and a few other Word docs - in OneDrive.

If either my computer, phone, or iPad got destroyed, I wouldn't be too inconvenienced. The most inconvenient part would be waiting for BlackBlaze to ship a hard drive with all of my media.

</comment><comment><USER67> By project

Sometimes I have a file in the project's top level directory explaining what the subdirectories are.

Or if I have five or six scripts which accrete over time with data going in one end and coming out the other end, I write a file explaining how I do it, before my shell history disappears and I forget.

I go with Ubuntu's default Music, Videos and Downloads. The other high-level directories are a development directory, a work directory, a personal projects directory, a personal directory, a development scratchpad directory, a things- to-do directory, and an old accumulated junk directory.

The development directory has some binary packages, git repositories, development journal notes (not on my blog), as well as some notes on aspects of languages and frameworks.

The development scratchpad directory has subdirectories by date. Mostly for code I am writing.

My work directory has all work information.

My personal projects directory has tax info for my S-corp, bank information, as well as information on personal side business projects and code.

My personal directory has my resume, contact info for friends and family as well as pictures of them, personal tax info, and this sort of thing.

I also try to name directories, and sometimes files, so I can find them with locate.

</comment><comment><USER68> I gave up.

Kinda.

Nowadays I make a folder for everything (even if there is only one file in it) but not subfolders _ever_.

Movies and TV shows live in ~/Videos, Music in ~/Music, downloads in ~/Downloads and are moved to ~/Download/Archives if binaries or drivers or computer things that I might need later. ~/Documents is huge but it contains everything but only folders and it has a ~/Documents/Archives for things not needed anymore. ~/Documents is ideally for documents not produced by me. Those produced by live in ~/Dropbox (1 Tb).

I have a ~/Dev with a ~/Dev/Documentation (produced by me), ~/Dev/DocRoot, ~/Dev/tmp (for experiments), ~/Dev/containers, etc.

~/Desktop is empty.

~/Images is for memes I'll never look at again (digital hoarding) and that wallpaper I have been using for years.

There is a ~/.notmine but it's not mine, don't know what's in there or who put it there and who manages that content.

On Windows I have %USER%\Desktop\Documents because %USER%\Documents is insane (every app put things there that aren't mine).

The most important step for me that removed clutter was putting everything in its own folder.

</comment><comment><USER69> I organize my projects inside my Documents folder. Specifically, my main folders are:

~Documents/MSc ~Documents/Projects ~Documents/Documents

the MSc folder goes like that:

~MSc/A/class ----> letter (A, B, or C) is the semester, and then the class (simplified of course)

inside each class the structure is:

~class1/class_material ----> where is the documents (pdfs, slides etc) provided by the instructor and scanned notes if any ~class1/Project(s) ----> where are the projects for the class.

Each project has 2-3 subfolders: ~Project1/src ----> source code (different approaches for the same project go in here in seperate folders) ~Project1/documents ----> reports, presentations etc, and a txt with refereneces to papers, books and websites used. ~Project1/Results ----> if i have to do tests comparing approaches, models etc I keep my results in here In the root folder of each project I keep the project requirments

My /Projects folder has the same approach

My Documents folder, for now is divided in two folders: ebooks and papers, and inside those folders are just bunch of files (with proper filenames, though, so searching is working) \--- My Photos folder goes like that:

~Photos/year/month/event

each "event" folder has the raw files and an "exported" folder where the processed photos are. If I do panoramas, there is also an extra folder, called "panoramas": ~event/exported ~event/panoramas \--- my Downloads folder is just a temp folder, so there is no need to waste time there. \--- My Desktop is always empty (and icons hidden)

</comment><comment><USER70> I have my documents organized by topic, my code repos organized by... well, each folder is a repo in ~/code.

Stuff like bills and receipts I don't usually download, I just keep copies in my email archives and purge old ones once a year or so.

I keep everything that's pending review in ~/downloads, even if it's not a download, because my home folder is a bit cluttered with dotfiles and I like to keep hidden files visible. I don't use a desktop folder so this is my equivalent to what many people use their desktops for.

My pictures are generally just in folders with a date and meaningful name like "2018-11-FL-Vacation".

Music is just all piled into one folder since my car's USB reader can only read from the top-level folder and I mostly download stuff to listen to in the car.

By the way, since you mentioned PDFs, a handy tool to use is pdfgrep ([https://pdfgrep.org/](https://pdfgrep.org/)) to do text searches of PDF documents. I also use the 'locate' command a lot to quickly find files by filename/directory.

</comment><comment><USER71> I've thought about this a lot because I would like to keep things for a long time without it getting a mess. Since I started using Linux as my main OS six years ago, I had the chance to rethink my structure and this one still holds up through multiple reinstalls and studies/companies:

        ~/p/$projectname for bigger projects
        ~/p/$language/$projectname because there is usually
            one obvious language to use for a given project

        ~/d/$school/$subject_code for current subjects
        ~/d/$school/$year/$subject_code for previous subjects
        ~/d/$company/ documents related to the company, such
            as a contract, correspondence, or just work
            documents. In most cases I get a company laptop,
            so then this folder is really small.
        ~/d/archive/$year/($school or $company) for old things

        ~/d/private/$YYYY-MM-DD-description can be either a
            file (such as 2019-01-01-Microsoft-support-call)
            or a folder (2019-01-Microsoft-support-case)
        ~/d/private/finances/ is one of a few special folders
            that do not use the time-based prefix. Other files
            include a passport-style picture, encrypted copy
            of passport, a folder containing my CV, etc.

        ~/Music a few things that are not on Spotify and
            audio book archive (I don't trust Audible to keep
            my library available as mp3 indefinitely).
        ~/Videos similar to Music but for videos
        ~/tmp/rm-me-on-YYYY-MM-DD files/folders which would
            previously clutter my desktop indefinitely, but
            which should survive a reboot (otherwise, /tmp)
        ~/bin/ user applications
        ~/bin/pf/ program files for ~/bin

Unsolved problems:

~/Downloads is a huge mess. I've been thinking of symlinking this to /tmp to force myself to move out what I want to keep, but did not get around to it, so I don't know whether it's a good solution.

Programs put files in random places, mostly dot folders in my home directory such as ~/.gnupg. This causes the following:

~/old-ssd still contains files from my previous SSD, and I'm not sure how to decide which ones to keep. Every few months, I dig something up from there, so it's definitely not ready to be thrown away despite having copied the aforementioned folders.

<comment><USER72> For people who haven't seen it, ncdu is great for purging cruft, it's an ncurses app that sorts by size (descending) and helps identify where to focus cleaning efforts.

</comment></comment><comment><USER73> / and ~ are on an SSD raid so I don't put much in there.

/ssd is a 1TB mx500 I got last year that I put video games on. /ms is my Mechanical Storage disk.

[https://i.imgur.com/yKwuvHk.png](https://i.imgur.com/yKwuvHk.png)

All my bulk data is on the mechanical drive with regular BUP backups to a 3TB one and syncthing on most of it.

My laptop is setup the same way - / on ssd and /ms is the mechanical data drive.

Specific to project organization /ms/code is just about a thousand project directories of git repos and such, and I always setup cmake to build /ms/code/foo in /ms/build/foo. I maintain a lot of aur packages I keep in /ms/aur and build to /ms/Data/packages, and my package cache is /ms/Data/pacman.

I don't like mounting disks under ~ unless the user can actually do the mounting in their own session (ie with a systemd unit). Since only FUSE can do that and all my other drives are persistent I mount them at / even though my user owns the top level directory.

</comment><comment><USER74> During the GTD craze of 2005, I came up with a system that has served me well over the years. My primary goal is to minimize the amount of time I spend looking for files.

 __Rule #1: All data must be stored in a single root folder. __As others on this thread have mentioned, this makes it easy to backup data and move it around. On Windows, this means I put everything in:

* `c:\data`

File systems are typically treated as hierarchies, so we now have to decide the most important aspects of data files that can be used to group and organize them. I believe that __ownership __is of first-order importance. Is this a file that I personally own, or is it a product for my employer? Is this a file I want to grant my family access to, or my wife? By separating things by owner first, it makes it easy to apply sensible permissions to data, apply organization-specific data retention policies, and copy it around when relationships change.

* `c:\data\acme-corp` * `c:\data\benjamin`

The next most important aspect is __source of truth __. Is my machine the primary storage location for this file, or am I keeping it sync with other machines? This info is critical for setting up automated jobs that safeguard your data.

* `c:\data\acme-corp\columbia` (the name of my machine) * `c:\data\acme-corp\git`

The final decision to be made is whether the data is "reference" data or "project" data (this is a GTD concept). An example of reference data would be your resume -- you want it to always be handy and current. But really, 99% of my data ends up being project data -- data that's very important to me right now, but will probably of little importance in six months.

So, my reference data is typically a handful of files single folder, and my project data is stored in a series of monthly folders.

* `c:\data\acme-corp\columbia\projects\2018\12` * `c:\data\acme-corp\columbia\projects\2019\01` * `c:\data\acme-corp\columbia\reference`

I absolutely love the monthly folders. I create the new monthly folders as a I need them, and older files silently slip out of my view as time goes on. Months later, when I'm searching for a file for an older project, I typically find several related files bunched together, which is hugely helpful. And organizing data by date makes it simple to adhere to corporate data retention policies.

Beyond that, I create sub-folders as needed, if there's a lot going on in that area that month.

* `c:\data\acme-corp\columbia\projects\2019\01\financial` * `c:\data\acme-corp\columbia\projects\2019\01\legal`

</comment><comment><USER75> Everything important goes to ~/data/ and inside various folders like project/, so all I need to do for backup script is to sync that folder.

I don't put anything intentionally under Documents/ as various apps try to put stuff in there to taint the folder layout.

Temporary files downloaded just stay at Downloads/ folder unless I need to keep it for a long while and I move it under data/.

Random text notes go to Notes app tagged instead of in random text files scattered which can also embed images.

Also Desktop/ is entirely empty this way. Wallpaper is as clear as it gets.

Also stuff I no longer need access to frequently like finished project goes to local encrypted folder (macOS specific) which I can open at will with a password but otherwise stays encrypted as a single file for archival purpose.

I also put all dotfiles in ~/data/ansible/home/ which get symlinked individually to ~/, so that whenever I launch a new server, most recent version of dotfiles get deployed to servers as well. (dotfiles are written in portable way across macOS, Linux and FreeBSD)

<comment><USER76> This is basically why I do in Windows too - I don't use the Documents, Photos folders and the like.

I have C:\Data, with subfolders inside for various 'topics', such as a 'Projects', 'Library', 'Cash Flow', 'Home' and 'Misc', as well as a folder for each family member.

For media and archival, I have 2x 4TB drives in a RAID 1 array. This contains many thousands of photos, as well as videos and films.

I use Seafile to Sync stuff between machines, with my Seafile server storing data in Azure blob storage (which is cheaper than Azure disks).

<comment><USER75> For media files like Music, I keep them on Windows desktop which gets synched to OneDrive 1TB account which came included with MS office subscription which I need anyway that is only $10/mo for both app and storage which sounds like a steal against other cloud storages.

<comment><USER76> Ah yes, I forgot to mention that I use OneDrive for an additional backup of photos - I have an MS Action Pack subscription, which gives me something like 5TB of storage (I forget exactly how much, but it's a lot!)

</comment></comment></comment></comment><comment><USER77>
      - Random scratch files in ~/Desktop/Rug (purged monthly, no backup)
      - All development in ~/Workspace (routinely backed up)
        - Source controlled development in ~/Workspace/Repos/[entity]/[project name] (excluded from backups)
        - All non-SCed files in ~/Workspace/[entity]/[project name]
      - Downloads in ~/Downloads (purged daily of older than two weeks, not backed up)
      - Personal computer has ~/Workspace symlinked from a Dropbox folder: ~/Dropbox/Bryan/Workspace
      - Family photos in ~/Dropbox/Family/Photos/[year]/[month]/[YYYY-MM-DD HH-MM-SS].[format]
        (routinely push-only sync to Amazon Glacier)

      * Several cron jobs to help maintain everything
      * Several custom Zsh plugins to make jumping around in shell a breeze
      * Daily bullet journal+markdown style notes auto source controlled in
        ~/Workspace/Repos/Personal/eod/[year]/[month]/[day].md

</comment><comment><USER78> (Slightly offtopic as it doesn't answer the question)

Like more people here, I have really everything in the cloud, so my filesystem (encrypted linux ext4) is a complete mess. I have a github repository with scripts that, after entering my decryption password, will restore any linux/Mac/windows machine to the production machine I need within minutes. So I just format my drive when it gets annoying.

I get stressed about everything being in the cloud sometimes, but there is so much that I don't really know how I would back it up in an organized fashion. Still waiting for an affordable backup service that allows me to download 'the blob that is my life' from all top 25 services (gmail, google phones, drive, docs, ms office cloud, github, Dropbox etc). But I have not found something like that that actually works with the rancid volume I have and the trust I would need to provide such a service. Ofcourse business documents etc are backed up (legal requirement), but that is a really tiny % of everything I have.

</comment><comment><USER79> I survived more than 3 hard-drive failures/system failures over the years without losing my data. My system setup helped in the survival so this might help. I had desktops and laptops that died, crashed or otherwise became unusable. The data survived. Here is what I do: I have three categories of files: (1) small, very important files (source codes, scripts, articles, notes, documents) (2) large but important files (photos & videos, Virtual Machine images ) (3) unimportant files (downloads, temporary files, screen captures) 3 main folders are setup for each category. Category 1 is backed up to (1) a cloud based continuous back up service (crashplan) (2) gitlab as part of version control (3) local external HDDs daily Category 2 is backed up to (1) crashplan and (2) local external HDDs Category 3 is never backed up. Having a copy in local external HDDs helps in quick recovery.

Organising the hard drive keeping a unexpected crash in mind helps in quick recoveries.

</comment><comment><USER80> I have a folder named ~/old_home/old/old_docs/Desktop, if that helps you understand my system.

I put miscellaneous software, stuff I need to extract and build from source, random git checkouts, etc., in ~/sw. Stuff I'm working on actively goes outside that. I have ~/prefix/bin in my PATH, so I can use --prefix=$HOME/prefix.

</comment><comment><USER81> I'd like to throw my datacurator-filetree[1] in here, which is aimed at the datahoarders among us and it's what my system is roughly based on. I welcome help and contributions :)

[1] [https://github.com/roboyoshi/datacurator- filetree](https://github.com/roboyoshi/datacurator-filetree)

</comment><comment><USER82> On Linux here. I have a directory for anything that needs to be backed up. That contains:

\- Business (plans, invoices, tax receipts etc) \- Documents (general non- business documents) \- Email (Thunderbird profile folders) \- Projects \- Client 1 \- code \- docs \- Client 2 \- code \- docs

Keeping code and docs together for each client works for me. Apache and hosts are set up to point to various web roots under ~/Projects/Clientn/docs with aliases like [https://client2/](https://client2/). Git likewise.

Outside the "backupable" root directory are the usual folders like Downloads, Pictures, Videos etc ... I don't care if I lose anything in these locations in a meltdown.

Things were much more complicated when I ran Windows as a dev environment, but it's pretty straightforward now.

</comment><comment><USER83> I actually do classify my eBooks with Dewey decimal numbers, but like a library they also have barcode/reference numbers, and hence are stored by those. I recently wrote a feature for my home automation system to retrieve them for me so I can read them when I am not at home. My older actual "library database" software is from 2010, and doesn't actually interact with the file storage at all. I'm now working on connecting the two systems a bit.

I have a few main folders Library, Projects, Website, etc. They're mostly uninteresting, I'm more proud of how I back them up. Everything syncs offsite, I've got multiple hard drives in multiple sites. The other thing I try to do is to use a common drive letter between PCs. So my Music folder is at the same location on any PC, for instance.

</comment><comment><USER84> I use a system where I've a max of 7 sub directories per directory. In that way I can quickly navigate to the directory or file I'm looking for.

It is based on the theory that one can process up to 7 items quickly. (Currently, I've no reference to this).

This implies that when a directory becomes too 'crowded', I add sub directories for further categorization. E.g. a directory containing an archive consultancy projects is split based on year of project. The current year is split up by proposal, ongoing, and archive.

For each project directory, I use standard sub-directories: Analysis, Input, Data, Report, Visuals, PM (Project Management) The difference between Input and Data is qualative and quantative data from the client.

Probably room for improvement, but it works quite good. For now a 80/20 trade off not to invest in a better system.

</comment><comment><USER26> A very related question: I'm looking for a(n ideally FLOSS) e-reader that works on both Windows and Android so I can start building and cross- referencing my e-book/article (EPUB/PDF) library. I'm currently using Calibre but did play with Xodo before and liked both (Xodo has the nicer interface and allows for writing on pages with a stylus -- that's awesome).

The killer feature I need is saving any highlighting/bookmarking right into the file (eg: a particular quote or diagram). If I can extrapolate these highlights along with page numbers and citations (APA format would be ideal) that would be even better. If there is some citation software out there that does this, that's fine too... though I do have EndNote but don't see these archival options available on it just yet.

Any solutions out there?

<comment><USER83> Joyread has been build with annotations support built in. It's web-based, so platform independent.

</comment></comment><comment><USER85> For PDFs, references and notes I highly recommend using an app that can assign tags―several for an item, of course. Preferably, tags themselves should be organizeable at least in a hierarchy.

You won't create a good collection of tags right away, but you'll grow and groom it over time. It's important to assign tags to new items as soon as they come in. Gradually, you'll learn what words you actually use when you're looking for something, and those will become your tags.

I can't recommend a specific app right now: I happily used one that begins with 'E' but alas it went to shit.

Also not sure about the merit of any software for tagging files. I know that some say good things about TheBrain as evolution of the mind maps idea, and that it apparently can link files in its data, so you could try that.

<comment><USER86> I know it's kinda pricey, and not everyone can afford it. But if you can, Evernote is actually pretty great for PDFs and tags, etc.

I didn't 'get' it for the longest time. But I moved from one country to another, and I didn't want to bring all my paperwork around with me. So I bought a scanner which can scan duplex (both sides), and a red stamp which says 'Scanned'. I digitized everything except super important things like (birth cert, etc). Tagged it, and it sits in Evernote. I've been in many situations where I am at a business or company, and someone asks for X document, and expect I have to leave to get it, but I can whip it up on my phone and mail it to them if needed.

I scan my bills, and the payment receipts, etc. I keep copies of paystubs, etc.

When I start projects I make a new folder under my existing 'Projects' notebook, and I can put everything related to it in there.

With premium, it also scans through the PDFs and can help you find things when you need them. Again, I know not everyone can afford it. Just pointing out that, if you are in a position where you can, and you could use this kind of functionality, I find it super helpful.

Last tip, use the 'Scannable' app (iOS at least). You can scan documents (very well, surprisingly!!) on the go. For example, once I got roped into signing a new contract for a phone plan. I didn't want to carry all the paperwork around all day, so at lunch I used scannable to send it all directly to my Evernote, and shredded the originals.

Not affiliated either, just a fan who likes the software.

<comment><USER85> Yeah, the problem is, basic functionality like text editing and even just scrolling keeps getting worse, slower and more broken with each version, at least on Mac. Display of web-clipped pages and images becomes buggy. The desktop app somehow gets bugs in its _window switching_ behavior. The Android app is slow and heavy like a glacier, can't save data on an SD card, fills _all_ internal storage to the last byte if there are too many notes to sync (incapacitating the phone), and needs lots of memory to edit simple text notes.

Meanwhile the developers are fiddling with the interface to keep up with MacOS, and the company is adding more useless front line layers to the support to shield itself from the customers. And this all has been going on for years.

So, been there. The price is not the problem.

</comment></comment></comment><comment><USER87> I've largely stopped using local storage, but I suppose the question isn't limited to that.

~/documentation - Git directory containing various personal & project notes, running unedited public documentation, and general ideas dump directory (there is a bit of structure but it's fairly free form)

~/workspace/{language}/{project} - I have active projects in several languages, some I group in large categories such as "linux" or "sites" when I feel they're more specific. These are all version controlled, mostly in Git repos.

~/remote/{media,backups,archived_projects,data_sets,unsorted} - On-demand NFS mount. Is the destination for automatic backups, where I archive old projects, and miscellaneous files I want to share between machines

</comment><comment><USER88> \- A folder called Repos on a data drive, not attached to the OS drive

\- Each folder in Repos holds a repository for different types of work:

\- Personal holds important documents, CVs, clearances

\- Sensitive docs are passwd encrypted before push

\- Thesis work in its own repo, now dormant

\- Business in its own repo(s). Folders for individual contracts and personal dev work.

\- Data folder to hold experimental data

\- Music folder to hold CD rips and audiobooks

\- Keys folder for repo keys

\- Photos on dedicated external drive

\- Desktop and Downloads contain important files, but limited to about 30 max (pending final destination)

\- A Backups folder that holds old files from pre-repo days. Most are junk.

\- Games folder for all games, Steam, etc. on dedicated drive labelled Scratch.

\- Saved games end up wherever the games themselves store them, but I don't care if I lose them.

\- Documents folder holds temp files and junk from other family members. If indicated as important, moved to Personal repo.

</comment><comment><USER89> Ubuntu 18.04

ASUS ROG G750JZ lappie

2x-256GB SSD RAID 0

LUKS FDE using LVM \- /boot/efi: 512M \- /boot: 488M \- /: 460G \- /SWAP: 15G

1x-1TB HDD

RAID:

      /home almost exclusively .folders.

      /home/documents/<everything is a project>

      Every <project> is a private git repo

      /home/documents is my only VS Code Workspace

      Everything is markdown with yaml frontmatter.

      Everything possible is a snippet.

      All screenshots are pasted into an .md file. The VS Code extension places each at /project/assets.

      All photos and videos are taken and stored on phones.

Backed up to external drives every 6 months or so.

      /home/Desktop is empty, /home/Downloads gets emptied often

HDD: unused

</comment><comment><USER90> I use the out of the box defaults on my Ubuntu desktop. Documents, Videos, Music, etc... with my code going into ~/Projects. I have random binaries and shell scripts I use in ~/.bin. I do like to keep a tidy and organised hard drive and have shell scripts for various related tasks to this. Also I have heavily used cloud storage in the past, but I don't like this now, as in I'm now uncomfortable with this. I recently got a 1TB SSD and with my previous hard drive upgrades in the past I have several HDD/SSD's lying around that I back up to regularly. I have a Makefile in $HOME to do this that calls some shell scripts that use rsync underneath.

</comment><comment><USER50> \- ~/docsync: Files I edit on a daily basis and is synchronized with Syncthing to all my devices. I put all projects I'm currently working on in the top- level of this folder except for the categories below. Archived projects are zipped and then put in ~/docsync/old

Categories:

\- ~/docsync/accounts: Accounting stuff

\- ~/docsync/audiobooks

\- ~/docsync/books: All my PDF books

\- ~/docsync/dotfiles: git controlled dotfiles.

\- ~/docsync/Pictures

\- ~/docsync/Music: Lossy compressed music.

Other folders in home directory

\- ~/hq-media: Mostly FLAC audio

\- ~/git: Clones of other people's git repos

\- ~/srv: File shares other than docsync.

\- ~/Mail: offline copies of email

\- ~/tmp: temporary stuff I'll probably don't want to keep.

\- ~/Downloads: Random stuff I've downloaded

</comment><comment><USER91> _~ /Downloads/source/<version control system>/<project>_ for checked out sources of tools etc.

 _~ /Downloads/programs_ for OS images, large binary blobs etc.

 _~ /Development/<technology>/<project name>_ for development projects

 _~ /Documents/<project name/company name>_ for documents relating to specific projects or customers

 _~ /Operations/<server>_ for various files related to servers and infrastructure (manual backups etc.)

 _/ dev/shm_ as a dumping ground for temporary files that I would like to get rid of with a reboot

</comment><comment><USER92> As I grow older, I find I have less and less 'random' stuff on my machine.

I have a two main folders:

/Development/Code/{language}

/Development/Tool/{tool}

Where the tool can be IntelliJ / vim or tmux config and other programming related files.

Apart from those, downloads do land in /Downloads and I keep that more or less clean.

/Documents holds docs.. most of this is text files for a Spanish course I am taking.

My projects fit under a language in /Development/Code/{language}/{project} so if I need any documents for the project I will make a subdir in the project folder, to keep the files close to the code.

</comment><comment><USER93> C: windows, often used software (fastest SSD) d: personal storage organised by type(folder), e: client files organised by client/project (future modifications get a new project folder), reference files have their own folder inside the client/project they are associated with.

More generic references go onto my personal drive.

I have it this way due to losing a ton of old work when I lost a hd, since then client files on their own drove that I backup online regularly. If I lose my personal/games drive it's no big deal to re download.

</comment><comment><USER94> My go to folders that are usually backed up.

/downloads - for all downloads under respective sub-folders like /media, /books, /software etc

/projects - personal projects

/freelance - for the freelance / consulting work with a sub-folder for each client

/business - accounts, taxes and stuff

/my-name - personal stuff including scanned documents, pictures etc

/archive - random stuff

I currently have lots of files on the Desktop which requires sorting out. Most of these are either text files with notes and ideas and some PDF. I am planning to move them into a system like Notion.so

</comment><comment><USER95> I have my home directory on a separate partition so I don't have to lose all my files when I reinstall my OS. My downloads go to ~/Downloads. I move files from here regularly to more appropriate places.

All my projects go in ~/projects which maybe be further classified as android, web etc.

I have custom bash/python scripts in ~/scripts

All my personal photos and videos go in a separate partition, classified into year and event.

Most of my important files and documents are on Dropbox and Google drive.

I use rclone with backblaze for archival purposes.

</comment><comment><USER96> The single best thing I've done to keep my home folder organized is to empty my downloaded files regularly. I have a systemd timer that removes everything from ~/Downloads once a day, as well as all ~/Pictures/Screenshot* . 99% of the things we download we don't really need, and it's a great habit to move things you _do_ want to keep because then you have to say where is the right place for them.

Also, for ~/Music - I use Beets (beets.io) and it saves me so much time.

</comment><comment><USER97> \- [smb]/archives/hardware/<devicename>/* system tools and software specific for a device I own

\- [smb]/mediadepot/audio/* music and audio podcasts

\- [smb]/mediadepot/literature/* ebooks and pdfs

\- [smb]/mediadepot/pictures/* pictures

\- [smb]/mediadepot/software/<platform>/* software archives

\- [smb]/mediadepot/videos/* videos

\- [smb]/personalstudy/* personal junk of all kinds

\- [smb]/projects/* software development stuff

\- [smb]/temp/* global temp directory

\- [smb]/ps2/* PS2 games

<comment><USER71> How do you handle downloads, just ctrl+A->Delete the folder regularly? Where do you put school or company data (material for subjects, or a contract or something)?

</comment></comment><comment><USER98> All the code is in the ~/Projects/subfolders. Everything else is in ~/Downloads. Every once in a while the whole ~/Downloads content gets moved to ~/Downloads/old/001, 002, ... etc (thousands already), once the space runs out I move these to an external hard drive. I actually dream of something like what WinFS was supposed to be where there would be no folders/locations but only meaningful metadata you can find files by.

</comment><comment><USER99> For my coding projects, many start as a mockup/jsfiddle first. Then I got a ~/projects folder where all maker projects go when they get slightly more serious.

My "random stuff" folder is mostly ~/Downloads, with up to 5 files also in my ~/ folder. I regularly clean those and either put those files in a more stablished folder or delete them.

The other mess I got is ~/Pictures, I keep having to revisit and clean them but I don't even know how to start.

</comment><comment><USER100> \- ~/Desktop/ Contains mostly screenshots. I use `defaults write com.apple.finder CreateDesktop false` to hide all the icons

\- ~/Documents/ is where stuff goes before it gets organized

\- ~/Documents/<topic>/ is where things go when there are enough of them to form a group

\- ~/Documents/projects/<project-name>/ is where I clone projects from github or create my own. Occasionally I clear out projects I haven't touched in a while.

</comment><comment> m-p-3 I usually go with this structure

      -Documentation
      -Installers
      --Drivers
      --Games
      --Operating Systems
      -Media
      --TV Shows
      ---Show Name
      ----Season
      --Movies
      --Music
      ---Artist
      ----Album
      --Pictures
      ---Year
      ----Month
      -Downloads (keep files there for 30 days max, then categorize or delete)

The whole thing is synced and versionned with Syncthing across several nodes.

</comment><comment><USER101> \- Using Gopath for all coding stuff, I.e I have a src/github .com/MYUSername/Project path as well as any other checkouts from different projects on Github or elsewhere.

Then there is a /scratch directory to dump any data, which I might need for temporary processing, but which should survive restarts

A Documents directory with Ebooks

A desktop with temporary files (mostly screenshots) and the obligatory nested folders like "old/old01"

</comment><comment><USER13> * ~/dotfiles has all my dotfiles version controlled with a shell script to set it all up

* ~/sandbox/ has various experiments and stuff that I'm not sure has a lifespan.

* ~/lib/<language_name> has most of my more serious projects. since I often need to add that to some sort of path variable.

* ~/DropBox/ has most of my essay writing and non code artifacts organized somewhat randomly if I'm honest.

<comment><USER13> I do run a custom full text indexer on it all so I can search it. Which helps me find stuff when I need it.

</comment></comment><comment><USER102> ~/Projects/<year>/<name>

The year is the year I created the project directory (used over multiple years), so kind of arbitrary, but it's a useful rough guide. Started using this system in ~2010 or so and never looked back.

I do have some miscellaneous other stuff (guess what ~/Music, ~/Diary contain) but that's mostly it. I make heavy use of ISO-8601 YYYY-MM-DD dates in filenames.

</comment><comment><USER103> \- Random stuff all over ~/

\- User-specific bin folder ~/LocalApps (with lots of scripts)

\- Projects etc. in a GoCryptFS-encrypted directory synced with Syncthing with NAS (with NFS+Kerberos on my desktop rather than Syncthing). Vendor- directories (/vendor/, /node_modules/) are not encrypted as not to slow down development, they are bind-mounted to a cleartext directory.

\- PDFs, MP3s, etc. in Dropbox

</comment><comment><USER104> ~/.build (random stuff I've had to build)

~/projects/personal/ (any of my stuff)

~/projects/<orgname>/<projectname>/ (work stuff)

~/Dropbox <obvious>

~/Scratch <workbench for random stuff I don't care about backing up>

~/Journal <vscode journal plugin>

~/Applications <for stuff like yEd/WireframeSketcher that doesn't play nice with linux file systems>

That's about it really.

<comment><USER71> What is the vscode journal plugin?

Dropbox is also not really obvious. It's obviously a reference to Dropbox Inc, and I assume you don't work there so it must be a synchronised folder, but I can't smell what's in there from this distance.

<comment><USER104> [https://marketplace.visualstudio.com/items?itemName=pajoma.v...](https://marketplace.visualstudio.com/items?itemName=pajoma.vscode- journal)

And the related view plugin, excellent easy to use journaling with automatic naming by day and other stuff.

It works mid because you can learn all of it in ten minutes and if you are already a vscode user you'd have it open anyway.

</comment></comment></comment><comment><USER105> Client work by folder name in Dropbox. Personal stuff mostly in documents but a bunch of stuff on desktop or desktop/old

Mix of important and unimportant things I may delete when I find free time in /downloads (usually when I run out of space)

Dropbox is my storage solution for personal and work. I may go NAS sometime but been too lazy to switch. Oh, also have an external drive to hold photos.

</comment><comment><USER106> For a long time I've kept everything important in project folders under ~/Projects. Each folder is a Git repository also stored in Bitbucket. I clone these on all the computers I work with.

There are some exceptions like photos, videos and music which don't fit Git well so I keep them in their own places and backup manually. Luckily macOS provides default locations.

</comment><comment><USER107> ~/Downloads symlinked into ~/Dropbox, used for everything ephemeral.

~/Documents symlinked into ~/Dropbox has documents I actually need to keep track of. There's not really that many.

~/Dropbox/Media/{Videos,Music,Books} sort of self explanatory

~/Pictures symlinked to ~/Dropbox/Photos

~/code has all the stuff I work on

~/source has stuff I don't edit/control

</comment><comment><USER108> Hard drive: nothing established yet. File system: since I use file names to browse for stuff I've saved, and since the most common thing I can remember is when I created them, I name beginning with datestamp, then title, then people affected. Projects: this is a much more interesting question than can be addressed here.

</comment><comment><USER109> One download folder, one temp folder, one repos folder, one apps folder. Everything I care about is a git repo in the repos folder, replicated in 2 other locations. Everything else, I don't mind losing (temp and download are pretty transient anyway and apps can always be downloaded again).

</comment><comment><USER45> By file type at first (Ie music, documents, professional development, books, etc). For finances, I aggregate by year - 2016 Finances, 2017 Finances, etc.

Others have mentioned a process system so Parsing, Not Parsing, Long Term Not Parsing (nas). I think I'm going to adopt that into my workflow as well.

</comment><comment><USER110> I keep quite literally everything in my Dropbox folder.

I use Hazel to automatically clean my desktop by moving progressively older files into Downloads -> Clean up. The clean up folder is also in my Dock, so that I can move one or two item into the trash easily whenever something shows up there.

</comment><comment><USER111> I take the same approach a forest takes: optimizing for regular "forest fires" to clear out the old.

I start with the year: Eg. 2018

Then I break it into

\- Projects

\- photos

\- personal

\- etc...

Then each year I start a new folder Eg. 2019.

I only bring in Projects I'm still working on.

This method is not optomized for searching, but rather for destruction of what is no longer needed. I find this the best thing to optimize for.

</comment><comment><USER112> I am mostly an artist. I do both standalone images and large projects. This is what I've settled on over the years:

 _~ /Documents/gfx/working/_ holds pretty much everything.

 _~ /Documents/gfx/working/ . this year._ alias of the appropriate yearly folder, named to sort first in the Finder

 _~ /Documents/gfx/working/ big project 1_

 _~ /Documents/gfx/working/ big project 2_

 _~ /Documents/gfx/working/ big project 3_ aliases to big projects, space- prefixed to sure ahead of the yearly folders

 _~ /Documents/gfx/working/2019/_

 _~ /Documents/gfx/working/2018/_

 _~ /Documents/gfx/working/2017/_

...

 _~ /Documents/gfx/working/1999/2000/_ Yearly directories. Big project folders live inside the appropriate year.

 _~ /Documents/gfx/working/old big project 1_

 _~ /Documents/gfx/working/old big project 2_

 _~ /Documents/gfx/working/old big project 3_ aliases to big projects I don't want to keep at the top of the list

There's some really old stuff a level up in _~ /Documents/gfx/_ but it's a remnant of a time when I had different ideas about organization.

I keep _~ /Documents/gfx/working/_ in the Finder's favorites sidebar, along with the _. this year ._ alias and the aliases for 3-4 current projects. Makes it easy to get to them them through both the Finder and file dialogs.

Big projects have their own file structures within their directories. Usually it's a bunch of Illustrator source files with Finder tags to tell me what's been finished and/or posted to Patreon, and subdirectories for things like web renders, reference files, book production, ads for the project, etc.

General reference/inspiration stuff either ends up in a directory outside of this - maybe in _~ /Documents/ebooks/_, maybe in something like _~ /Pictures/reference/_ or _~ /Pictures/random inspirational/_, there's no solid system. Reference stuff can also go in Evernote depending on how I figure I'll want it.

</comment><comment><USER113> Any opinions on partitioning? Or dual booting Linux and Windows?

I've been a Linux user for eons, but recently got Windows to dual boot for video editing. I'm not quite sure where to put the partition, what FS to use to share files between the two, etc.

<comment><USER68> Use GPT. No more 4 partitions limit and extended partition fiddling when risizing or moving stuff (that means UEFI for booting, if your computer is old you might have to spend some time in the BIOS to set things up).

You can resize live from windows (since version 7 I believe).

I'd use an NTFS partition to share files (because fat32 don't have enough prevention loss measure to my taste). NTFS partition access requires much CPU cycles though.

[https://imgur.com/a/QnyCdc3](https://imgur.com/a/QnyCdc3)

I don't remember why I still divide /root and /home. Must be a habit.

</comment></comment><comment><USER114> Does anyone use a good indexer on Linux? I removed mlocate from my system because it always eats up CPU cycles when I least want it to. Also, the index is always out of date. And it doesn't index the contents of e.g. PDF files.

<comment><USER115> Recoll is useful, though kind of arcane to use...but it has the upshot of indexing even PDFs

</comment></comment><comment><USER116> I use tabbles on windows

I can organize, tag, annotate any file and then use the powerful search when I need it.

It has useful plugins and is easy to batch tag things.

I don't even bother organizing files or folders anymore I just dump them all in one place and then use tabbles.

</comment><comment><USER117> 'Every document belongs to a project':

[https://github.com/galfarragem/hamster- system](https://github.com/galfarragem/hamster-system)

</comment><comment><USER118> [https://wiki.nikitavoloboev.xyz/unix/my-file- system](https://wiki.nikitavoloboev.xyz/unix/my-file-system)

</comment><comment><USER119> Random stuff on my Desktop

Random stuff in Downloads

Large files on the 1 TB Seagate drive

Frequently used files on the SSD

Everything else gets dumped on the NAS drive

And symlinks everywhere (for when programs don't let me specify data storage locations)

</comment><comment><USER120> In my home directory I use ALL CAP directory names for stuff I don't backup like GITHUB for repos, TENSORFLOW for library source code and examples.

Lowercase for things that I backup

</comment><comment><USER121> C:/ Here goes all my installed softwares

D:/

\- Movies

\- Programming projects //my personal projects

\- softwares //all softwares setups

\- Documents //all of my books

</comment><comment><USER122> I just have three directories in my Documents directory:

1\. code 2\. files 3\. garbage

Any important files that I may need in future lives on OneDrive.

</comment><comment><USER123> c:\install for downloads, once in a while cleaned out apart from directories that I want to preserve. Browsers download there by default.

c:\work for work-related things, subfolder for each project.

Listary (and other app launchers previously) have made it easier to jump around without caring where a folder is.

</comment><comment><USER124> ~/Desktop/workspace is always a folder containing all my git repositories. That's it.

</comment><comment><USER105> Don't even ask about how we organize our favorites, that's probably a nightmare for many people.

</comment><comment><USER125> Everything gets classified into a bunch of related folders and symlinked if needed.

Other than that a Readme file

</comment><comment><USER126> i often work with some kinf of text files. i tried to simulate my workspace. Folders became like real world objects. Desk, incoming post box, archive, whiteborad and so forth. Then there is a temp folder.

</comment><comment><USER127> besides standard folders that are delivered with the OS, I tend to create folder `/projects` with my personal side-gigs and `/work` with commercial projects for other people. nothing fancy.

</comment><comment><USER128> projects in subdirectories of

      c:/work  for Windows
      /work    for Unixen

Unfortunately user directories are too much complication to seek too all the time

</comment><comment><USER129> I just use "locate" to find files. Don't care where they are.

</comment><comment><USER130> I keep my porn in a folder called: Definitely not porn.

</comment><comment><USER131> Its "Desktop-Placing" all the way down....

</comment><comment><USER132>
      New Folder With Items

</comment><comment><USER133> The twist: I don't. Lol.

</comment><comment><USER134> The root of my drive:

├── apps

├── books

├── business

├── courses

├── downloads

├── games

├── media

├── music

├── notes

├── podcasts

├── research

├── src

├── tmp

├── tweets

├── twitch

└── youtube

Source code specifically (the contents of the src/ folder above):

├── ansible

├── contracts

├── courses

├── github

├── legacy

├── scripts

├── sites

└── tmp

</comment><comment><USER135> On physical side:

\- two SSDs for the OS and part of the /home data in mirror

\- two HDDs without raid for rest of my data

On logical side: mdadm+LUKS+lvm+nilfs2 for most of volume, /boot in ext4

On home taxonomy:

\- a "document" tree, mostly pdfs and org files about taxes, invoices, scanned tickets, home/car/* documents etc in there I also have my maildir mounted from a separate LV volume, and few dirs are "live" few are "archives". I have few scripts that check for age and add "to be deleted/reviewed" older files in org-agenda but are only a awful spaghetti code collection that cover only few cases... Mostly guarantees period for stuff I buy, expire period for some tax- related docs etc...

\- a "knowledge base / library" tree with mostly org and pdfs files + few images/video/audio it's a mix between a personal wiki in org and a pdf- libraries plus extras and few still-to-be-migrated leftovers (ZIM Wiki used in the past and others)

\- a "work" tree composed mostly of text files with very few binaries, it include a small fossil (VCS) wiki and few stuff are bind-mounted in personal "KB/KL"

\- a "miscellaneous" tree composed of all that's not documents nor book nor work stuff

\- a "multimedia" tree composed on personal videos/photos and few movies

\- a "temporary" tree for anything that need to be categorized, that do not last longer etc. All files inside are "monitored" with a simple find+ls script, file older than a year are reported weekly on my org-agenda with a proper dired link and are mostly leftovers I periodically delete.

\- an "environment" tree contains my configs mostly inside org mode, other simply "drop in" like firefox profiles, other still to be org-ifyed or nix- ifyed via homeManager... Relevant configs are bind-mount to proper dotdirs in home via global hwconfig.nix (NixOS).

\- a standalone "Desktop" dir, empty since few X apps keep creating it... About freedesktop dirs my download dir is ram-mounted in /tmp/download since anything I download and not refile somewhere is garbage.

As "todo when I have time and desire" I plan to:

\- completely org-ify my configs, NixOS included so I can deploy my new desktop directly via Emacs, or to be more precise a stripped-down emacs with only relevant configs booted from a NixOS custom live image. Actually I'm quiet ready only for my mail setup (my_mails.org witch contains notmuch, mbsync, IMAPFilter and afew configs etc tangled in their relevant places) and a custom NixOS iso with add Emacs but not run it at login...

\- use afew to completely replace IMAPFilter and add to afew tagging some "mail-management" query to help keep my maildir clean (like "all mail from $biped that are not flagged or have other extra tags except attachments and have more than two year" => mark for garbage collection)

\- extend and generalize in a single script my actual awful collection of auto-doc-refilers (script that are executed by notmuch post-new hooks to automatically collect and refile regular phone&c bills to docs taxonomy, add agenda's todos for electricity bills that are NOT (sgrunt) attached as pdfs but force me to log in to EDF portals to download them manually just to have a proof I received them... etc).

\- consolidate and cleanup a bit with some kind of periodicity/strategy instead of "when I feel in the mood of cleanup following an incoherent agenda reminders about old files...

</comment><comment> King-Aaron Chronologically.

</comment><comment><USER136> Everything is under $HOME/Data divided in categories:

      - Apps -> executable binary software
      - <USER7>
      - Code -> sourcecode of software
      - Config -> dotfiles and stuff which goes to $HOME/.config or .local
      - Documents -> PDF, Epub, etc. Everything which is mostly readonly
      - Notes -> Plaintext-documents which are for read/write
      - <USER8>
      - Projects -> Active Projects
      - Software -> Setup-Files for binary software, roms, etc.
      - Text -> Plaintext-data like logs, traces, etc. Usually readonly and generated from Software
      - Vault -> Binary App-Specific Data. Some readonly, some read/write
      - <USER9>
      - VirtualEnv -> Python-Environments
      - VM -> Other Environments

Every categoryfolder has subfolders which contain projects/product/app- specific data. In case of App for example each folder is one app. In case of Code each folder is a repository. In case of Config each folder is for one specific app, with exception of misc which contains single config-files. Projects cotains folders with mixed data, each related to a specific shortliving task or project. Long living data go to other categoryfolders. Readonly means I don't change those data by myself, while read/write means I work with them regulary.

Overall everything quite simple. But reality is more complicate. $HOME/Data is the store and used as base for a script which will generate several link in my home-dir. This is done with #Tags in the foldername, or some predefinend rules, or by using a list of predefinend targets from a file (mostly used for Config-Entrys).

Main targets are:

      - $HOME/Archive -> Subfolders with #Done
      - $HOME/Playground -> Projects without a tag which are a git-repo
      - $HOME/Tasks -> All other Projects or subfolders with #Task
      - $HOME/Workspace -> Subfolders with #Workspace (usually from Data/Code or Data/Config)

I have then functions in my Editor and shell to access them comfortable and can avoid crappy projects-addons.

BUT, this is not the whole of it. $HOME/Data itself is also just a linkfarm. I don't have just one hard drive, but several drives and multiple devices from which use them. $HOME/Data is just the merge from the available drives on each device. Drives are mostly Dropbox, multiple NAS, Localdrive and external Drive. The simple reason for this setup is that I have some data I sync between devices, some other data are exclusive for specific locations (work) and I'm legally obligated to not mix them with personal data. Some other data are just to big to sync and I want them on a centralized system, and because there are so many of them I have multiple of them, and sometimes also workplaces with some NAS.

So, how I use this is, I mount drives somewhere, usually /mnt, and link them to $HOME/HUB. My script then iterates through them, and updates $HOME/Data. Hierachy is HUB/$DRIVE/$NAME/$CATEGORY. $CATEGORY are the topfolders from $HOME/Data (App, Code, Config...). $NAME is another special that I use to divide data even per drive. Normally I use it to separate personal workplace- related data which I'm allowed to mix with other data, like my own scripts or configs, or just some SFW wallpapers. but also old Projects where I could keep the sourcecode or other data. My script then collects the folders under $CATEGORY, generates $HOME/Data/$CATEGORY if it not exists, and links the folder there. If there are multiple folders with the same name it adds also $NAME to the linkname, so nothing gets forgotten.

I developed this in the last 10-15 years, and over the years it evolved in some way or another. Biggest pain is to create new, rename or move existing folders, because I in this case I can't work on the link. For this I use scripts which in 99% works painless. Additionally I have some more scripts which move files from certain locations (mainly download-folder) to specific targets. Works fine for regulary files with structures names, not so much for random stuff.

</comment><comment><USER137> I use GNU/Linux and use the default layout.

~/Downloads <\- Everything I download, torrents seeding

~/Downloads/old <\- Entropy is here

~/Desktop <\- Empty I don't like to keep files here

~/Documents <\- Personal documents, my university stuff is grouped by year/subject

~/Documents/Library <\- Here are all my e-books keep in perfect order, most of this later

~/Dropbox <\- Cloud sync, mostly files shared with others mates

~/Pictures <\- Photographs group by month and year, or event name

~/Pictures/memes <\- Internet memes

~/Pictures/Inkscape <\- Vector images i created, mostly from tutorials followed

~/Pictures/Blender <\- 3D projects, I just learning

~/Music <\- All my music keep in perfect order, most of this later

~/tools <\- Some programs downloaded and not installed globally

~/Videos <\- Unsorted videos, my own screencast, offline YouTube videos

~/Videos/Anime <\- Anime series keep in perfect order, most of this later

~/Videos/Movies <\- Movies keep in perfect order, most of this later

~/Videos/Series <\- TV series keep in perfect order, most of this later

~/Videos/Tutorials <\- Tutorials I purchased for offline consume

~/Workspaces <\- All my coding projects

~/Workspaces/github/<project name> <\- My personal and other open source code

~/Workspaces/<company name>/<project name> <\- Work and Freelance projects

For keep in order:

\- Music: I use [https://picard.musicbrainz.org/](https://picard.musicbrainz.org/) if the metadata isn't yet available then I left in downloads folder

\- e-books: I use [https://calibre-ebook.com/](https://calibre-ebook.com/)

\- Videos: I use [https://www.tinymediamanager.org/](https://www.tinymediamanager.org/)

\- Projects: All my projects are GIT repositories

\- Encrypted stuff: Plasma vault for folders and [https://www.veracrypt.fr/en/Downloads.html](https://www.veracrypt.fr/en/Downloads.html) for disk

Sync folders between devices: rsync

Navigate between directories in terminal: ranger, z, oh-my-zsh, byobu

Compress files: tar and lrzip

</comment><comment><USER138> My home directory is a shared drive with:

~/Backup/... Just random things I needed to backup from somewhere else, stuff like my wifi router config files ends up here, or images of my phones

~/Code/<project name>/... This is mostly source code I wrote organized by project

~/Docs/<category>/... These are documents (mostly PDFs) organized by category, e.g. "History", "Manuals", "Datasheets", etc... Some documents are further grouped inside these

~/MyDocs/... These are documents I've generated myself, this is pretty flat, the only further organization inside is taxes/<year>/...

~/Images/... ~/Images/backgrounds/... These are mostly images I've found online, images that would make good backgrounds are copied into backgrounds. Some of my machines pick desktop backgrounds automatically from there

~/Movies/<movie name>/ These are movies made by other people

~/Music/<artist>/<maybe album>/... Music made by other people

~/Photos/<device_YYYY-MM-DDn>/... These are photos I've taken, organized by device and date

~/Temp/... Temporary files, theoretically this gets emptied out, realistically I haven't run out of space yet

~/Videos/... ~/Videos/<device>/<YYYYMMDD>... ~/Videos/<project>/... Parts of various video projects I've worked on. Source material organized by device and date, bits for specific projects organized thus

~/VMs/... Images and state for various virtual machines

The home directory has a few other subfolders dedicated to important or ongoing projects, for instance each of my kids has a folder, as does the house I'm designing. The home directory also accrues a good amount of other random files, often prefixed with some useful grouping id and an underscore. I try to gather these up or delete them from time to time when it starts to feel cluttered. A few files are mainstays. I also have a few dotfolders for things I want to configure the same on different machines.

On my individual machines I usually link ~/Downloads and ~/Share to local storage. My general rule is to always copy files from Downloads, leaving the original file intact. Thus the Downloads directory acts as a historical archive of everything I've ever downloaded on a machine. The Share folder contains copies of files I'd like to share with the world. I use this folder when configuring p2p filesharing services.

I let the OS manage the rest of the hard drive however it sees fit. If I'm using a system that allows me to put files on the desktop I try to refrain from doing so, but occasionally I'll use the desktop as a temporary space.

</comment><comment><USER139> Google Drive

\- Documents

\- Photos

\- Games

\- Media

</comment><comment><USER140> On my Nas:

Backups

Games

Incoming

Media

\- audio

\- books

\- photo

\- video

Projects

Software

Unsorted</comment>