~/src
~/git, for projects I cloned from the web because I don't know how to code :(
~/.projects
~/src/${reponame}
~/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.
${HOME}/repos
~/code/$LANGUAGE/$REPONAME
C:\repos
or ~/repos
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.
~/git
All over the place...
/dev/null
XDG Documents folder
~/dev
~/repo for code I write and ~/src for code I didnt.
~/src/
Simple, effective, doesn't make my home folder any more of a mess than I already left it as.
~/dev/
, with project/org subdirectories
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
This is pure insanity. Chaos.
Lol same
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}
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/
and Music/
, 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 to repo/
, and if I have multiple relevant repos for the Project, then make it repo-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.
~/Projects
~/repos
~/git/AUR|dev|whatever/$(git clone)
is where mine usually reside.
~/source
Unfortunately I'm still on windows, so [User]/Documents/Projects/*
Any naming convention is fine as long as it's meaningful to you. But it's a good idea to keep your own repos separate from the random ones you clone from the internet.
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.
Same, but by language, e.g. Development/Python
.
What if a project uses multiple languages?
Symlink each individual file, obviously.
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.
~/git/vendor/<gitUser>/<repo>
and
~/git/<myName>/<forge>/<user>/<repo>
Examples:
~/git/vendor/EnigmaCurry/d.rymcg.tech
~/git/mike/forgejo/mikew/myproject
~/git/mike/github/johndoe/otherProject
Most of my code and some non-code is under ~/src
, but I have repos scattered all around for other things.
~/gits
Documentation is usually a doc
folder inside the repo or just a README.md
for small projects.
~/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
~/projects
for things I made
~/git
for things other people made
I tend to follow this structure:
Projects
├── personal
│ └── project-name
│ ├── code
│ ├── designs
│ └── wiki
└── work
└── project-name
├── code
├── designs
└── wiki
Is "code", "designs" and "wiki" here just some example files in the repo or are those sub-folders, and you only have the repo underneath code
?
They are the project's subfolders (outside of the Git repo):
code
contains the source code; version-controlled with Git.wiki
contains documentation and also version-controlled.designs
contains GIMP, Inkscape or Krita save files.
This structure works for me since software projects involve more things than just the code, and you can add more subfolders according to your liking such as notes
, pkgbuild
(for Arch Linux), or releases
.
Ah, interesting. In my current setup, I dump the auxilliary files into a folder above the repo, but it can certainly make it a bit messy to find the repo in there then...
Like some other ppl here, I clone everything in a git folder under my home directory.
I use ~/workspace
. I think I got this from when I first started using Java years ago. Eclipse created new projects in this directory by default maybe?
I do this too, maybe this explains why
/mnt/external_ssd_1/git_repos/reponame
i trust my workstations os to still be working in the morning as much as i trust the chances i even published the stupid branch after making it.
Linux
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0