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?
Personal stuff goes in
~/Projects
Work stuff goes in
~/Work/Code
Personal?
~
My homedir is a HUGE MESS.
Work?
~/src/<site>/<project>/<repo>
i.e. ~/src/github/mirantis/docker (not real I don’t imagine, just an example)
~/src/bitbucket/INTERNALPROJECTCODE/coolrepo
~/Documents/projects/<YYYY>-<MM>-<DD>_<name>
~/Prototypes on pretty much all machines I own, from desktop, laptop, server, tablets, ebook readers, RPis, XR headset, video projector, etc.
~/Sources for stuff I’m only building from sources and no immediate intention to contribute to
~/Projects for stuff I’m involved in, with a following structure:
Projects - Personal - - Art - - Music - - Code - - - Ideas - - - In progress - - - Deployed - - - Scripts - - - Abandoned - [Company name] - - [Project name] - Interviews - - [Company name]
The last part grouping project by companies has worked great for me, especially with freelance and outsource work. Sorting personal projects into types and stages feels like a mistake, as every time I have to navigate it, I can’t help but think of limitations of hierarchical file systems, as some of them are multiple types simultaneously, and also moving projects between stages feels dumb.
~/git
~/dev/
, with project/org subdirectoriesAdmittedly, 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
Fascinating idea!
This is pure insanity. Chaos.
Same. Short and sweet.
Lol same
~/src/
Simple, effective, doesn’t make my home folder any more of a mess than I already left it as.
~/Projects
${HOME}/repos
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.
Me waiting for tagging filesystems to become the standard
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
~/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.
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), orreleases
.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…
I maintain a rule that all files above the repo must be inside a folder, with one exception: a README file. Including the
code
folder, this typically results in no more than 5 folders; the project folder itself is kept organized and uncluttered.