Tips on how to structure your home directory (2023)

Overall attitudes toward home-directory structure

  • Highly personal; many say no single scheme fits everyone.
  • Several prefer minimalism: only essential dirs (e.g., dev + Downloads), or treating the whole machine as disposable with only Git-backed projects and synced notes really mattering.
  • Others adopt explicit systems (PARA, Johnny.Decimal, calendar-based folders, project-per-dir) to reduce decision fatigue.

Common organization patterns

  • Project-centric: ~/projects split into personal/work/company; ~/src/$host/$owner/$repo; code/dev/test/prod tiers.
  • Time-based: daily/dated dirs like ~/work/YYYY/MM/DD or ~/Stuff/YYYY-MM and helpers that create YYYY-MM-DD or epoch-named folders; people like time as a reliable, monotonic key.
  • Broad, few top-level categories (inspired by Wolfram/“Second Brain”): e.g., media/life/edu/data/dev/pix, or Documents/Code/Videos/Downloads.
  • Some keep a dedicated “trash-like” tmp or Stuff tree, only loosely cleaned, plus “Ruins” or archives for old home dirs after reinstalls.

Dotfiles, configs, and tooling

  • Dotfiles managed via Git (sometimes entire ~/.config), symlink farms, or tools like homeshick/chezmoi/stow; some avoid symlink complexity by just backing up selected configs.
  • NixOS and home-manager are praised for declarative, portable environments; others lean on KeepassXC for SSH keys.
  • Some alias .config to a visible ~/config and track only chosen subdirs via .gitignore.

Dealing with $HOME pollution and XDG

  • Strong frustration with apps dumping visible dirs (~/go) or mixing cache/data into .config.
  • XDG Base Directory seen as the right model but inconsistently followed, especially by cross‑platform or macOS-centric tools.
  • Strategies:
    • Put personal data outside $HOME (e.g., /data, /proj) and accept $HOME as “system junkyard”.
    • Use xdg-ninja to push apps toward XDG compliance.
    • Some prefer visible app dirs in $HOME for easy deletion; others insist on hiding them.

Tags, search, and alternatives to hierarchy

  • Several find hierarchical categorization brittle and life‑situation dependent.
  • Tagging (macOS, TagSpaces, TMSU) is praised but often abandoned due to ongoing maintenance and “tag refactors”.
  • Many now lean on fast search tools (fzf, Spotlight, Everything-like utilities), recency views, or timeline/calendar UIs instead of deep trees.

Backups, security, and metadata

  • Multi-layer backups are common: Time Machine plus cloud (Backblaze, S3, SyncThing, pCloud/Dropbox/OwnCloud).
  • Some encrypt with LUKS or ecryptfs; skepticism about certain filesystem-level encryption quirks.
  • Several encode durable metadata (dates, keywords, IDs) directly in filenames to avoid fragile filesystem metadata.