Linux Folder Structure

/home/jbrubake

Entity Purpose
bin Personal scripts and binaries
docs Cloud documents
download Downloads
etc Personal configuration
host Host system %USERPROFILE% mount
lib Personal shared libraries
opt Personal software packages
sbin cron(8) and systemd(1) scripts
share Personal architecture independent data
src Personal source code
.goobook_auth.json goobook(1) authentication
.goobook_client_secret.json goobook(1) authentication
.gnupg GnuPG keyring
.password-store pass(1) password store
.ssh SSH data
.todo todo.sh data

Other dot directories are installed from dotfiles repository or created automatically

bin

Personal scripts and binaries

Contents are installed from scripts repository and other packages installed to $HOME.

docs

Cloud documents

Symlink to ~/.sync/dropbox/docs

etc

Personal configuration

Symlink to ~/.sync/dropbox/etc

host

Host system %USERPROFILE% mount

Mounted from host system

lib

Personal shared libraries

Populated locally

opt

Personal add-on software packages

Populated locally

sbin

cront(8) and systemd(1) scripts

Contents are installed from scripts repository

share

Personal architecture indpendent data

Directories immediately under ~/share are symlinks to subdirectories of ~/.sync/dropbox/share

Subdirectory Purpose
avatars Avatar icons
backgrounds Personal wallpaper
fonts Personal fonts
games Static files for personal games
icons Personal icons
misc Miscellaneous
words Personal dictionaries

Other directories are populated locally

src

Personal source code

Directories immediately under ~/src are symlinks to subdirectories of ~/.sync/dropbox/src

~/src/working contains all other source code

.goobook_auth.json & .goobook_client_secret.json

goobook(1) authentication

These files are decrypted copies of files found in dropbox://

.gnupg

todo.sh data

‘~/.gnupg/gpg-agent.config’ is installed from ‘dotfiles’ repository

Remaining files are populated locally

.password-store

pass(1) password store

Clone of git@github.com:jbrubake/password-store

.ssh

SSH data

‘~/.ssh/config’ is installed from ‘dotfiles’ repository which sources ~/.ssh/config.local for sensitive configuration

Remaining files are populated locally

.todo

todo.sh data

‘~/.todo/{done,report,todo}.txt’ are symlinks into ‘dropbox:todo’

Remaining files are installed from ‘dotfiles’ repository

/usr/local

Entity Purpose
src System local source repositories

src

System local source repositories