atlas-desktop/doc/Developpers.md

2.3 KiB

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.