EatncureDocsLinux & DevOps
Related
LWN.net Weekly Edition: April 30, 2026 - In-Depth Q&ALinux 7.1 Release Candidate 1 Delivers Notable Performance Gains for AMD Threadripper8 Key Insights into Meta's AI-Powered Efficiency Engine at HyperscaleExploring the Latest Features of Fedora Linux 44Firefox’s Free VPN Expands: Users Can Now Choose Server Location – Major Privacy UpgradeIBM and Arm Team Up: Bringing ARM64 Virtualization to IBM Z with Linux KVM PatchesFirefox's Free VPN Finally Lets You Choose Your Server Location - Here's What Changed5 Essential Enhancements in Firefox's Free VPN That Users Have Been Waiting For

How to Embrace the New 'Projects' Folder in Your Linux Home Directory

Last updated: 2026-05-01 23:39:31 · Linux & DevOps

Introduction

If you're running a rolling release distribution like Arch Linux, you may have noticed a fresh folder appearing in your home directory: Projects. For as long as most of us can remember, Linux has shipped with a standard set of folders—Documents, Music, Pictures, Videos, Downloads, and often Templates, Desktop, and Public. Now, a new addition has landed: the Projects directory. This folder is specifically designed for code repositories, 3D printing files, CAD projects, and any other project-related content that doesn’t naturally fit into Documents, Music, or Pictures. But it’s more than just another folder—it marks a step toward better desktop workflows, improved app interoperability, and easier backup strategies. In this how-to guide, you’ll learn everything you need to know to adopt and make the most of this new directory.

How to Embrace the New 'Projects' Folder in Your Linux Home Directory
Source: itsfoss.com

What You Need

  • A Linux distribution with the XDG user directories specification (most modern distros, e.g., Fedora, Ubuntu, Arch, openSUSE)
  • A recent system update that includes the Projects directory (rolling releases may already have it; for others, check your package manager)
  • Basic familiarity with the terminal or file manager
  • (Optional) Development tools, CAD software, or any app that saves project files

Step-by-Step Guide

Step 1: Check if the Projects Directory Already Exists

First, open your file manager or a terminal and navigate to your home directory. Look for a folder named Projects. If you see it, you’re already set. If not, your distribution may not have rolled out the change yet. You can also run the following command in a terminal:

ls ~/Projects

If you get a "No such file or directory" error, skip to Step 2. If the folder exists but is empty, you can proceed to Step 3.

Step 2: Create the Projects Directory Manually (if needed)

Even if your distribution hasn’t automatically created the folder, you can follow the XDG standard and create it yourself. Run:

mkdir -p ~/Projects

Optionally, update your XDG user directories config file (~/.config/user-dirs.dirs) to include the Projects directory. Add or modify the line:

XDG_PROJECTS_DIR="$HOME/Projects"

After editing, run xdg-user-dirs-update to apply changes. This ensures apps that respect the standard will know about your Projects folder.

Step 3: Move Existing Project Files into the Projects Directory

Now that you have a dedicated space, gather all your coding repos, CAD designs, 3D printing STL files, hardware design projects, and other work-in-progress items. Move them from arbitrary locations (like ~/dev, ~/code, ~/workspace, or scattered across Documents) into the Projects folder. Use your file manager or the terminal:

mv ~/dev/* ~/Projects/
mv ~/my_3d_prints ~/Projects/3D_Prints

Consider creating subdirectories within Projects for different categories (e.g., ~/Projects/Coding, ~/Projects/CAD). This keeps things tidy without breaking the standard.

Step 4: Configure Your Apps to Use the Projects Folder

Many development tools, IDEs, and CAD apps can now default to the Projects folder. Check your application’s settings:

  • IDEs (VSCode, IntelliJ, Gnome Builder): Set the default project location to ~/Projects.
  • Git clients: When cloning repositories, choose ~/Projects as the target.
  • 3D/CAD software (Blender, FreeCAD, OpenSCAD): In preferences, set the default save directory to Projects.

For sandboxed applications (like Flatpaks), you may need to grant file system access. For example, with Flatpak:

flatpak override --filesystem=~/Projects com.example.app

This allows the app to see and write to the Projects directory.

Step 5: Update Backup and Sync Tools

Backup solutions (Deja Dup, rsync, Back In Time) and cloud sync services (Nextcloud, Syncthing) should treat Projects as a meaningful data category. Add ~/Projects to your backup list if it isn’t already included. You can also set up automated backups specifically for project files, because they often contain version-controlled code that you may not need to back up daily, but CAD files might be irreplaceable.

How to Embrace the New 'Projects' Folder in Your Linux Home Directory
Source: itsfoss.com

For synchronization, consider excluding large binary artifacts (like node_modules or compiled binaries) by adding patterns to your sync ignore rules.

Step 6: Inform Others and Adopt in Documentation

If you write README files or installation scripts for your projects, now you can refer to a standard location: ~/Projects or $XDG_PROJECTS_DIR. This makes it easier for users to find your project and for build tools to assume a sensible workspace. For example, a script could clone a repo into ~/Projects/my-app automatically.

Also share this practice with your team or community. The more people use the Projects folder, the faster it becomes an expected convention, improving interoperability across the Linux desktop.

Step 7: Explore Advanced Customizations

The Projects directory can be integrated into your workflow in creative ways:

  • Shell aliases: Add alias projects='cd ~/Projects' to your .bashrc or .zshrc.
  • Automated project indexing: Use tools like mlocate or fd to quickly search within Projects.
  • Flatpak permissions: For security, consider giving only necessary apps access to Projects rather than your entire home directory.
  • Custom subdirectory naming: Use a consistent naming scheme like YYYY-MM-DD_project-name for timestamped projects.

Tips and Final Thoughts

  • This is not just another directory. The addition of a standard Projects folder is the result of an 11-year-old request (first made in 2014) to the XDG user dirs specification. It provides a predictable location for IDEs, build systems, and backup tools, much like Documents or Pictures already do.
  • Benefits for sandboxed apps: Flatpak and Snap applications can be granted permission to access a single standardized folder, reducing security risks.
  • Interoperability: A common space for projects means that installation guides can stop using vague locations like ~/dev or ~/code and instead refer to ~/Projects.
  • Backup and sync: Treat Projects as a data category distinct from Documents—it often contains version-controlled code with dependencies that you may want to exclude from backups to save space.
  • Keep it organized: While the standard defines only a top-level Projects folder, you are free to create subdirectories. Just ensure that tools don’t expect a flat structure (they usually don’t).
  • Check your distro: If you don’t see the folder yet, it may arrive in a future update. You can manually create it as shown in Step 2 and it will be recognized once the standard is implemented.
  • Embrace the change: This small standardization quietly improves usability across the Linux desktop. Over time, more apps will adopt Projects as their natural default, making your workflow smoother.