Add structure section to readme
This commit is contained in:
parent
273d0e4ccc
commit
9e76d7838c
38
readme.md
38
readme.md
|
@ -8,6 +8,44 @@ take what you like.
|
|||
![Battlestation][battlestation-photo]
|
||||
![Desktop Screenshot][desktop-screenshot]
|
||||
|
||||
# Repo Structure
|
||||
|
||||
My dotfiles are composed together by layering "environments" since I want my dotfiles to be flexible across servers, laptops, desktops, and even my phone (via Termux).
|
||||
|
||||
lytedev-dotfiles
|
||||
|- common --- common to all hosts and operating systems
|
||||
| |- bin ------- programs or scripts useful to all hosts/OSs
|
||||
| |- data ------ shared storage for certain scripts
|
||||
| `- {app...} -- configuration related to {app}
|
||||
|- host ----- specific to specific hosts or types of hosts
|
||||
| |- desktop --- for desktop-class machines
|
||||
| |- headless -- for server-class machines with no display/GUI
|
||||
| `- laptop ---- for portable, battery-having machines
|
||||
`- os ------- specific to operating systems
|
||||
|- linux -----
|
||||
| |- desktop ------ for desktop-class machines
|
||||
| |- headless ----- for server-class machines with no display/GUI
|
||||
| |- bin ---------- programs/scripts useful to linux machines
|
||||
| |- {distro...} -- configuration related to {distro}
|
||||
| `- {app...} ----- linux-specific configuration related to {app}
|
||||
`- macos ----- for those stupid macbooks work tries to make you use
|
||||
|
||||
Any environment should be able to extend the configuration of any application
|
||||
in some unique way. This isn't possible with all applications, of course, since
|
||||
some programs do not make it easy (or possible) to include multiple
|
||||
configuration files or to extend a single file by having it include others via
|
||||
globs or some other mechanism.
|
||||
|
||||
One example of doing this well is with fish:
|
||||
|
||||
for s in $ENV_PATH/*/config.d.fish; source $s (dirname $s); end
|
||||
|
||||
This way, if any environment (a dir in $ENV_PATH) has a `config.f.fish` script
|
||||
inside, it will be sourced by the main configuration file.
|
||||
|
||||
Likewise, some setup only happens in certain environments via the
|
||||
`dotfiles-setup.d.fish` script.
|
||||
|
||||
# Basic Setup
|
||||
|
||||
curl -Ss https://lyte.dev/df.sh | sh
|
||||
|
|
Reference in a new issue