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:
~/projectssplit into personal/work/company;~/src/$host/$owner/$repo;code/dev/test/prodtiers. - Time-based: daily/dated dirs like
~/work/YYYY/MM/DDor~/Stuff/YYYY-MMand helpers that createYYYY-MM-DDor 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, orDocuments/Code/Videos/Downloads. - Some keep a dedicated “trash-like”
tmporStufftree, 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
.configto a visible~/configand 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$HOMEas “system junkyard”. - Use xdg-ninja to push apps toward XDG compliance.
- Some prefer visible app dirs in
$HOMEfor easy deletion; others insist on hiding them.
- Put personal data outside
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.