If you are using a rolling release distro like Arch, you might have noticed that your home directory now has a new member, a new folder called “Projects”.
For as long as I remember, Linux has always had a set of default folders under the home directory. Usually they are Documents, Music, Pictures, Videos and Downloads. Templates, Desktop and Public folders are also there.
Now we have a new addition in the form of “Projects”.
Honestly I say just let the user decide what goes in their home directory. I always get annoyed at all the random garbage in there. There should be a specific place that is user owned that isn’t filled with cruft and configuration files
Yeah, I have essentially never used these folders unless a program sticks something there by default (mostly pictures).
I just save everything to ~/Desktop anyway.
A thing I started doing years ago, to combat trashing to ~/Desktop or ~/Downloads:
Set /tmp as your default download directory.
At least for me, almost everything I download is just ephemeral and would collect dust
Putting it there causes it to be cleaned up on the next reboot. No more piles of junk on the desktop (the virtual one at least. Don’t ask about my physical desktop)
That’s a good idea until you download a 10GB file and you wonder why you’re out of RAM :P
I use /tmp as a temp folder for yt-dlp (it is faster than an HDD when adding metadata and subs to the video), and I’ve ran out of RAM before by downloading a video too big… Silly me, my laptop only has 8GB.
True, but only if you use ramfs for tmp, which not all distros do
If you don’t, then it’s not going to be cleaned up on reboot.
The user does decide, XDG user directories are optional and configurable. Since they are already established, user-friendly distros / desktop environments already pre-install them.
And what speaks against just using a new directory within your home directory as your “specific place that is user owned that isn’t filed with cruft and configuration files”?
It’s only optional and configurable if it’s respected. Which often times it’s not due to convention.
And I do already actually, it’s just weird that I have to.
It’s 100% one of those carry overs from earlier days of computing and Linux not having great standards only great conventions. Like /bin vs /usr/bin
Could you elaborate how the configuration might not be respected? Do you mean that you’ve often encountered applications that save files to hard-coded paths and do not even let you change the destination path?
If you ask me, that’s just bad software design. If the software is open-source, there is the option to request the developers to read the actual path of the respective well know directory from the XDG environment variables or allow configuration.
But why are the names camel cased? It’s a little bit more annoying to type.
Because any normal person would want it upper cased. Most people never type these folder names.
Yes, Linux should appeal to the masses, otherwise we will never get rid of Windows. No, this doesn’t apply to anyone on Lemmy cause nobody on Lemmy right now truly qualify as “normal person”, statistically speaking.
i feel normal but nobody knows that i am wearing Batman socks.
… until now.
Windows user appeal?
And Mac.
Hell, Mac even capitalizes /Users (where home folders are)!
– Frost
Appeals to Java programmers too.
So does self-flagellation, but we don’t provide default whips in the Kernel.
Seconded, I hate that every file is all lowercase but my home directory if filled with Downloads, Videos, Documents, etc…
cd downloads
nO sUcH FiLe oR DiReCtoRy
time for a new shell or enable ‘set completion-ignore-case on’ in bashrc
You can customize the names with a
~/.config/user-dirs.dirsfile. That will work on XDG-compliant programs. instructions
Yours are camel case? That’s weird. My folders are pascal case.
Indeed, fixed.
I never even thought to check. Was Games not a default folder?
I’ve always had a projects folder, so this works for me I guess.
Same I also keep one called “scratch” that is just for random one off shit
/s
I used to have a scratch directory. Then I realized I can put stuff in /tmp/whatever, and it gets automatically deleted on reboot. I made a shell function that creates a /tmp subdirectory, and cds to it in one command.
Well, sometimes I want something more permanent than tmp
That’s better than mine: ~/downloads/deleteme123
My downloads folder already removes files that are over a month old
Same, I picked it up from some random user I was watching.
It may as well be called ‘git folder’ because it’s almost exclusively used to clone ‘hmm, neat’ github repos and for my various ‘to do’ projects where I’ve gotten as far as running
git init.I have two folders for git though, my projects, and other people’s packages and such
That makes too much sense
Me too! But now I’m thinking maybe I should capitalize the folder name
~/PROJECTS
Why capitalize? Drop all the vowels!
~/prjcts
Why? What would I want to have the folder for? I never had it with any OS I ran. It’s either in the documents, or I’d create my own directory with the name I want. I have different types of projects, so I’d prefer organising my directories myself.
I wasn’t sure the fuck this directory keeps appearing in my home, kept removing it over and over again. Can I disable that?
Aha, it’s in the article:
Don’t like the new Projects directory? Just delete it. The xdg-user-dirs utility will not try to create it again. The default location for this directory will be moved to your home directory.
It recreates them for me.
Power users, who want more control, can edit the ~/.config/user-dirs.dirs configuration file and modify it to control what goes where.
This might help, I guess.
At least projects is an understandable purpose, I don’t use the
Templates, Desktop and Public foldersat all, and aside from desktop (which I know is a workflow thing that I don’t even use) I would need someone to explain them to me. I’m guessing public would be for a multi-user system, templates maybe for printing stuff (I do not).Templates are auto-used by some software, but I don’t understand why it’s not hidden. E.g. .templates or some .app/share/templates. As not many people would ever use it, and those who will would find the location easily.
Desktop, I never used it, but I understand the workflow. I used it as a quick directory to send some files, which I could symlink. Some people use it. And some DEs show desktop files.
Music and videos, I see no point. Not many people use them at all, and for me those were separate disks (which I never needed mounted in my home). Now, it’s all separate machines (for self-hosted media content and servers).
I use only documents and downloads, and in general, that’s enough for me. Also I use some top level directories, and I name them myself. All my files are my projects, I see no point in having any other files in my home.
I have a .hidden file to hide the rest.
I do use music and video (Flash animations in video too), though yeah they have been moved to slower drives (because data, easier migration). I use XFCE but don’t use desktop icons.
Templates is super useful! You can make a copy of any file you put here in any other directory with right click > new. Some examples I usually have in my computers are ‘newFile’, ‘newTextFile.txt’ (just blank text files), ‘newTextDocument.odt’, ‘newSpreadsheet.ods’… but once you start you’ll find many more things to add like, if you’re a programmer or web dev you’ll put files with all the boilerplate already in them, if you design fashion you’ll put an image of a figure template to draw over (in your format of choice), you have to make monthly schedules? Throw a table/spreadsheet with the days, format, colours… already in it. Anything you find yourself repeating is a good candidate to go into your templates folder.
Interesting. I guess I’m not that far along (sort of stalled now), and quite possibly may never really need that.
Though for this one:
Some examples I usually have in my computers are ‘newFile’, ‘newTextFile.txt’ (just blank text files)
creating a blank file and renaming to .txt before editing seems good enough for me.
I think Templates is for cases where you make lots of documents that have the same starting structure. Like a letter head, or a spreadsheet you recreate every month. The starting structure can be saved in Templates so you can copy it ever time you need it. Maybe I’ll put a Nix flake template there instead of always copying from a recent project.
Public might be for files that other users have read access to on a multi user system? Or maybe for network shares? Or a personal website? I’m not sure. Edit: I found a comment saying that Gnome file sharing uses Public.
I like this idea. I’ve been doing pretty much the same thing for a while now, though it’s been a subdirectory of Documents.
Mine is on the desktop 🤷🏼♀️
This is the way. Everything I created in folder in Documents. Everything I downloaded in downloads. Home should be otherwise empty, except for all the left-over dot-folders that old software leaves lying around.
I made SO MANY directories under home that could have just been ~/Projects that I’m annoyed with myself for not doing something so simple.
… I’ll be using the projects directory heavily going forward
As someone who has used ~/Projects for years and has syncing and other setup around it I am (very slightly) terrified this change could somehow fuck with me.
Please let this just be a mkdir call that will fail.
deleted by creator
Nope. Only makes for new installs, and only uses it as a save spot default if the application asks for it. Should be no change at all.
New installs, or new users? I’d assume the latter?
When I read it originally (a bit back, maybe a week or two ago) it was new installs that was noted, though new users would make sense.
I guess I’ll find out soon enough on a test box.
I also use a Projects folder. It looks like it probably won’t break anything. Apps might start putting stuff there by default, hopefully in sensible subdirectories. There’s a note in the article that you can create
~/.config/user-dirs.dirsto specify where you want files to go.
I think that’s what normal people have been doing for decades.
it’s excessive for me. I’ll continue putting my projects with my documents.
Sigh… Yet another thing pushed by the self-appointed nannies at freedesktop.org that I will have to manually undo on practically every new account.
At least it will probably be configurable, unlike Canonical’s infamous
~/snapdirectory.Or flatpaks var directory.
I don’t mind that one, since
.vardoesn’t clutter my home dir and is only created if I use Flatpak. It follows unix conventions, stays out of my way, and is only a few lowercase letters to type if I choose to work with it.But not configurable for ease of backup.
I don’t know what you’re referring to. How would changing the location of dotfiles make backups easier?
Data & config stuff here, cache & trash there.
I guess I didn’t think of that approach because it wouldn’t work for me. I use a lot of tools that follow the long established convention of putting dotfiles directly under $HOME, so I back up $HOME and exclude things like cache and trash.
Its amazing how bothered people are by a fucking folder 😂
Forcing their facist file structure on is is literally wors than windows!
/s
I came here expecting people ranting over it. Let’s see what they have…
A whopping 2KB of unwanted bloat.
Everyone knows all a proper OS need is 32KB, at most…
i deleted an empty project folder yesterday… i just assumed i made it and forgor about it
how about first getting programs to put dotfiles into the
.configfolder (opposed to.programname) instead of adding more folders that are inconsistent over distros for multiple years before the point of a default for IDEs and CAD programs can even be meaningfully made?Ugh yeah this is a real point of annoyance for me, we have the XDG basedir spec for a reason but everything just ignores it. I’d settle for even the config part, let alone state, data dirs and the rest. Just throw it all in
home…
I’m more of a fan of /Projects
then syncthing that between all my boxes.
~home is great on shared systems, but my projects should be in the same place for all my local accounts on my non-shared box.
I love this! Now to remove other unwanted folders like
templatesandmusicI always change the defaults to another place and to have another naming. Just camel casing those folders is already stupidly annoying. I guess one more silly one into another folder out of view.
I already do the following:
- media with images, music and videos inside
- changes to small case for desktop and download
- change documents to docs
- create another folder called shares which I moved the public folder inside.
- hide the templates folder that nobody knows what is it for, so it becomes .templates
- no idea what the projects is supposed to be about, maybe I can map it to the already existing dev folder…
hide the templates folder that nobody knows what is it for, so it becomes .templates
I think the templates folder is for the “New File” items, I forget how it works but you can make custom new files similar to new Text File, Empty File, etc
Hah, thats funny, I… literally have a ‘Projects’ folder, though I’m running Bazzite.
hoists suspenders
Yep, made that folder on my own, gets the job done, mhrm.
… lol
(pleasedonotlookinsidetheProjectsfolderdeargoditissuchamess)
Good that we aren’t talking about windows. Otherwise, I’d backup the original Projects folder quickly.
i got work
lol same. Great minds think alike I guess
Y’all don’t just do everything out of your Downloads folder?
No, Desktop/
~ is kinda hard to reach. I just put everything in root so I just have to type / once to find everything.
/s
Oh cool I’ll also start using “/s” folder
Everything is just in /. I patched directory support out of ext4.
I thought I was the only one, it’s just so easy to use it as your base working folder. Things get organized out as whatever it is moves forward to some arbitrary point.
My wife’s Windows 10 desktop can fit one more icon. Just need to overlap a few others here and there.
Perhaps your wife needs something like this?
Living dangerously in agile times. I do it in /tmp and I set auto clean for every reboot.
auto clean for every reboot
Mount
/tmpastmpfs, dummy. It’s literally in the name.
My man!
Documents for me, but yeah


























