Adds Why do you need dotfiles section

This commit is contained in:
Alicia Sykes 2022-11-27 15:34:45 +00:00 committed by GitHub
parent 77e7436f92
commit ea39d27245
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

9
.github/README.md vendored
View File

@ -10,6 +10,7 @@
## Contents
- [Introduction to Dotfiles](#intro)
- [What are dotfiles?](#what-are-dotfiles)
- [Why do you need them?](#why-you-need-a-dotfile-system)
- [XDG Directories](#xdg-directories)
- [Containerized Userspace](#containerized-userspace)
- [Security](#security)
@ -47,6 +48,14 @@ It's not hard to create your own dotfile repo, it's great fun and you'll learn a
---
### Why you need a Dotfile System?
By using a dotfile system, you can set up a brand new machine in minutes, keep settings synced across multiple environments, easily roll-back changes, and never risk loosing your precious config files.
This is important, because as a developer, we usually have multiple machines (work / personal laptops, cloud servers, virtual machines, some GH codespaces, maybe a few Pis, etc). And you're much more productive when working from a familiar environment, with all your settings applied just how you like them. But it would be a pain to have to set each of these machines up manually. Even if you've only got a single device, how much time would you loose if your data became lost or corrupted?
---
### XDG Directories
The location of most config files can be defined using the [XDG base directory specification](https://specifications.freedesktop.org/basedir-spec), which is honored by most apps. This lets you specify where config, log, cache and data files are stored, keeping your top-level home directory free from clutter. You can do this by setting environmental variables, usually within the [`.zshenv`](https://github.com/Lissy93/dotfiles/blob/master/config/zsh.zshenv) file.