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
|
```bash
|
||||||
sh -c "$(curl -fsLS get.chezmoi.io)" -- init --apply https://code.lksz.me/lksz/dotfiles.git
|
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