# Concept for tracking changes - Create new commit (if possible) - If force is unset: Diff system's files against current state by copying them into the current state branch - Then, diff the package state against the state branch by dumping it - Else, or if no diff, continue - Copy normal config files into correct directories - Render and copy renderables - Retrieve explicitly installed packages and remove those that are not present in goal and install those that are not present in current state # Ideas - [ ] function to collect new configs - [ ] config options for users and groups - [ ] presets for things like desktops (like Hyprland) - [ ] config options for the template rendering - [ ] config options for themes - [ ] grub config - [ ] Dynamic selection of more configs (i.e. require syntax) - [ ] Own config syntax? - [ ] Autocompletion - [ ] Basic arch install how? -> Probably manual (or semi-automatic) - [ ] Mounts?