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?
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
Thinking of the projects I work on, I don't understand the value in categorizing by language, rather than theme (
~/Development/Web/
,~/Development/Games/
) or just the project folders right there.Yeah, everyone has to find their own way of organising, I guess. For me, there are too many different little projects that it would get messy throwing them all in one folder. And they’re so varied that I couldn’t think of one single “theme” or topic for most of them. Nothing I would remember a week later anyways.
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.
Most of my code and some non-code is under
~/src
, but I have repos scattered all around for other things.~/workspace/git
That way I can also keep other stuff in the same "workspace" directory and keep everything else clean
I have a Code, simulations, ECAD, and FreeCAD folder in the workspace folder where projects or 1-offs are stored and when I want to bring them to git, I copy them over, play around in the project folders again, then copy changes over when I am ready to commit.
I could better use branching and checking out in git, but large mechanical assemblies work badly on git.
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}
~/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
~/Code
for coding/dev stuff and~/gitclone
for things that i random clone for some reason. =DI 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.~/code/git/<org name>/<project>
Mostly a holdover from when I regularly pulled
svn
/hg
/cvs
repos and needed reminding what tool to use for which project.No idea why I still do it.