Add structure section to readme
This commit is contained in:
parent
273d0e4ccc
commit
9e76d7838c
1 changed files with 38 additions and 0 deletions
38
readme.md
38
readme.md
|
@ -8,6 +8,44 @@ take what you like.
|
||||||
![Battlestation][battlestation-photo]
|
![Battlestation][battlestation-photo]
|
||||||
![Desktop Screenshot][desktop-screenshot]
|
![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
|
# Basic Setup
|
||||||
|
|
||||||
curl -Ss https://lyte.dev/df.sh | sh
|
curl -Ss https://lyte.dev/df.sh | sh
|
||||||
|
|
Reference in a new issue