User:David Hedlund/Dotfiles directory hierarchy

From Free Software Directory
< User:David Hedlund
Revision as of 13:11, 17 November 2024 by David Hedlund (talk | contribs)

(diff) ← Older revision | Approved revision (diff) | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Conventional organization strategy

A conventional method for managing software configurations involves storing config files in dedicated directories that are included in the backup process. This structure mirrors that of system files, where configuration files are organized in a systematic manner within specific directories. This approach typically results in a structure similar to:

~/configuration/.config/
├── foo/file
├── bar/file
└── baz/file
~/configuration/.local/
├── foo/file
├── bar/file
└── baz/file

Enhanced organization strategy

To facilitate rapid identification and access to software-specific files, an improved organizational structure can be implemented. This strategy involves creating dedicated root-level directories for each software application:

~/configuration/
├── foo/
│ ├── .config/foo/file
│ └── .local/foo/file
├── bar/
│ ├── .config/bar/file
│ └── .local/bar/file
└── baz/
├── .config/baz/file
└── .local/baz/file

This method is utilized by:

  • GNU Stow, a symlink farm manager, leverages this Package Directory Structure to create symbolic links that make the separately stored software appear as if it's installed in a single directory tree. This approach allows for easier management, installation, and removal of individual software packages without interfering with others.
  • Lutris, a game management platform for GNU/Linux, employs a comparable strategy. It organizes game installations and their associated files into separate directories in ~/Games/, facilitating easier management and isolation of different game environments.


Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the page “GNU Free Documentation License”.

The copyright and license notices on this page only apply to the text on this page. Any software or copyright-licenses or other similar notices described in this text has its own copyright notice and license, which can usually be found in the distribution or license text itself.