Finally some meaningfull content in README.md
This commit is contained in:
parent
56602e57c6
commit
86afbcd64a
83
README.md
83
README.md
|
@ -7,3 +7,86 @@ This is my chezmoi dotfiles repo
|
|||
```bash
|
||||
sh -c "$(curl -fsLS get.chezmoi.io)" -- init --apply https://code.lksz.me/lksz/dotfiles.git
|
||||
```
|
||||
|
||||
## Why even bother?
|
||||
|
||||
I work on multiple platforms:
|
||||
* Windows 11 - as my home PC (not covered directly by this repo... yet)
|
||||
* TrueNAS SCALE/Linux servers (mine and my backup-buddy friend home-labs
|
||||
I manage/support)
|
||||
* MacOS - Work MacBook Pro
|
||||
* Linux - @Work log analysis tech servers, (on which I do not have root
|
||||
access).
|
||||
|
||||
This repo helps me keep these environments (excluding the
|
||||
Windows/Powershell one for now) as comfortable and predictable for me as
|
||||
possible.
|
||||
|
||||
## Philosophy / Design Guidelines
|
||||
|
||||
Do as much setup as possible at once, make maintenance simple, don't
|
||||
slow down productivity (it's bad for my ADHD).
|
||||
|
||||
If a tool is missing, find a single-binary solution that can be managed
|
||||
by `.chezmoiexternals`. **rust** and **go** based tools are best for
|
||||
this.
|
||||
|
||||
Assume a system has `bash`, `git`, `curl` or `wget`, anything else that
|
||||
is missing, chezmoi should be able to grab.
|
||||
|
||||
NEVER store personal identifying secrets/details or work/employer
|
||||
specific details in the repo.
|
||||
|
||||
Assume others will be interested in investigating/cloning this
|
||||
envrionment (I know, a bit arrogant), so keep it as generic as possible,
|
||||
so it can be shared.
|
||||
|
||||
## Repo structure
|
||||
|
||||
The root dir of the repo is for documentation/orientation, as little
|
||||
content as possible.
|
||||
|
||||
It contains:
|
||||
|
||||
* A 'throwaway' chezmoi bootstrap environment:
|
||||
|
||||
```
|
||||
.chezmoiscripts/
|
||||
.chezmoi.toml.tmpl
|
||||
.chezmoiignore
|
||||
.gitignore
|
||||
```
|
||||
* This `README.md` and a `docs` directory for additional documentation.
|
||||
* `chezmoi.roots` containing environment specific chezmoi roots.
|
||||
|
||||
## Bootstrap
|
||||
|
||||
`.chezmoiroot` points to the source-state of the current envrionments.
|
||||
I creted this so I can ensure I have the necessary tooling to
|
||||
effectively initialize an envrionment assuming as little as possible.
|
||||
|
||||
Initializing the bootstrap envrionment, detects the macine type,
|
||||
generates the `.chezmoiroot`, scraps the bootstrap configuration and
|
||||
initializes chezmoi now that `.chezmoiroot` exitst.
|
||||
|
||||
This is why `.gitignore` ignores `.chezmoiroot`, as it is different on
|
||||
every machine.
|
||||
|
||||
## The Different Envrionments
|
||||
|
||||
At this point Home and Home.MacOS are almost identical and they will
|
||||
probably be merged in the future.
|
||||
|
||||
I crated the MacOS envionrment when I was unsure about the differences,
|
||||
wanting to separate the envrionments while I currate them.
|
||||
|
||||
Both are POSIX based (to a degree), and my expectation for them is to
|
||||
behave in as similar a manner as possible.
|
||||
|
||||
To make the envrionments 'inherit' from one another, I've written
|
||||
`symclone.sh`, a tool script that creats symlinks across different
|
||||
chezmoi environments.
|
||||
|
||||
For more information abot each envrionment, see their respective (WIP)
|
||||
`README.md` files.
|
||||
|
||||
|
|
Loading…
Reference in New Issue