fix: New README, new documentation for developpers, and many install.sh and update.sh fixes
This commit is contained in:
parent
38d2572e84
commit
6b92f7a0a0
5 changed files with 282 additions and 45 deletions
57
doc/Developpers.md
Normal file
57
doc/Developpers.md
Normal file
|
|
@ -0,0 +1,57 @@
|
|||
# Developpers documentation
|
||||
|
||||
## Repository structure
|
||||
|
||||
```
|
||||
dotfiles/
|
||||
├── install.sh
|
||||
├── scripts/
|
||||
│ └── update.sh ← dotfiles-update
|
||||
├── packages/
|
||||
│ ├── core.pkgs ← always installed
|
||||
│ ├── desktop.pkgs ← always installed (automatic)
|
||||
│ ├── aur.pkgs ← AUR packages (paru)
|
||||
│ ├── intel-cpu.pkgs ← auto: Intel CPU
|
||||
│ ├── amd-cpu.pkgs ← auto: AMD CPU
|
||||
│ ├── intel-gpu.pkgs ← auto: Intel GPU
|
||||
│ ├── amd-gpu.pkgs ← auto: AMD GPU
|
||||
│ ├── nvidia.pkgs ← auto: NVIDIA GPU
|
||||
│ ├── gaming.pkgs ← optional
|
||||
│ ├── development.pkgs ← optional
|
||||
│ ├── ...
|
||||
│ ├── optional.groups ← lists which groups are optional
|
||||
│ └── <group>.desc ← one-line description shown in installer
|
||||
└── config/ ← stow package; mirrors $HOME
|
||||
├── .config/
|
||||
│ ├── hypr/
|
||||
│ ├── waybar/
|
||||
│ │ ├── vertical/
|
||||
│ │ └── horizontal/
|
||||
│ ├── rofi/
|
||||
│ └── ...
|
||||
└── .local/
|
||||
└── bin/
|
||||
└── atlas-update
|
||||
```
|
||||
|
||||
### Package group conventions
|
||||
|
||||
| File | When installed |
|
||||
|---|---|
|
||||
| `core.pkgs` | Always |
|
||||
| Any unlisted `*.pkgs` (e.g. `desktop.pkgs`) | Always (automatic) |
|
||||
| `aur.pkgs` | Always, via paru |
|
||||
| `intel-gpu.pkgs`, `amd-gpu.pkgs`, etc. | Auto-detected via `lspci` / `/proc/cpuinfo` |
|
||||
| Groups listed in `optional.groups` | User-chosen during install, remembered on updates |
|
||||
|
||||
To add a new automatic group: create `packages/mygroup.pkgs` and commit.
|
||||
To add a new optional group: also add its name to `packages/optional.groups` and optionally a `packages/mygroup.desc` one-liner.
|
||||
|
||||
|
||||
## Package state tracking
|
||||
|
||||
After each install or update, a snapshot of every installed group is saved to `~/.dotfiles/.state/packages/<group>`. On the next run, each group is diffed:
|
||||
|
||||
- **New packages** in the `.pkgs` file → installed automatically
|
||||
- **Removed packages** → you are asked before uninstalling
|
||||
Delete `~/.dotfiles/.state/` to reset all state and force a full reinstall on the next update.
|
||||
Loading…
Add table
Add a link
Reference in a new issue