Personally, to keep my documents like Inkscape files or LibreOffice documents separate from my code, I add a directory under my home directory called Development
. There, I can do git clones to my heart's content
What do you all do?
I used to use
~/dev
but for years now I use~/Workspace
becaue Eclipse made me do it~/code
for everything I want to change/look at the source code.~/.local/src
for stuff I want to install locally from source.For my personal projects I use ~/dev/projects/
For clones I use ~/dev/clones
My audio engineering stuff is at ~/audio/{samples, plugins, projects, templates}
~/gits
Documentation is usually a
doc
folder inside the repo or just aREADME.md
for small projects.For a project called "Potato Peeler", I'll put it into a structure like this:
~/Projects/Tools/Potato-Peeler/potato-peeler/
Tools/
is just a rough category. Other categories are, for example,Games/
andMusic/
, because I also do gamedev and composing occasionally.Then the capitalized
Potato-Peeler/
folder, that's for me to drop in all kinds of project-related files, which I don't want to check into the repo.And the lower-case
potato-peeler/
folder is the repo then. Seeing other people's structures, maybe I'll rename that folder torepo/
, and if I have multiple relevant repos for the Project, then make itrepo-something
.I also have a folder like
~/Projects/Tools/zzz/
where I'll move dormant projects. The "zzz" sorts nicely to the bottom of the list.Like some other ppl here, I clone everything in a git folder under my home directory.
On Linux I usually just keep them in my home directory because I'm lazy. On Windows though I usually do C:\git\ or D:\git\ if I have a second drive.
Most of my code and some non-code is under
~/src
, but I have repos scattered all around for other things.~/Projects/$TOPIC_OR_LANGUAGE/$PROJECT_NAME
ie.
~/Projects/Web/passport.ink
for a web dev project~/Projects/Minecraft/synthetic_ascension
for a Minecraft mod~/Projects/C++/journalpp
for a C++ library
Admittedly, that irks me slightly just because of the shared name with the devices folder in root, but do what works for you.
I actually have my whole home directory like that for that reason haha
bin - executables dev - development, git projects doc - documents etc - symlinks to all the local user configs med - pictures, music, videos mnt - usb/sd mountpoints nfs - nfs mountpoints smb - smb mountpoints src - external source code tmp - desktop
Like others, I have a folder in my home directory called "Code." Most operating systems encourage you to organize digital files by category (documents, photos, music, videos). Anything that doesn't fit into those categories gets its own new directory. This is especially important for me, as all my folders except Code are synced to NextCloud.