[regolith-linux] Config versioning

  • From: Ken Gilmer <kgilmer@xxxxxxxxx>
  • To: regolith-linux@xxxxxxxxxxxxx
  • Date: Wed, 14 Aug 2019 22:50:56 -0700

Several weeks ago, as part of the new Xresources feature, a bespoke way of
managing config files was introduced to Regolith.  In essence, Ubuntu
package versions where added to the end of config files, when updates were
applied.  At the time I believed this was a nice way of dealing with
breaking changes, while ensuring that users always had the most up-to-date
config files.  Issues reported by users and the additional complexity and
inconsistency of this approach has led me to change my mind.  A number of
minor changes are being implemented to make config file handling in
Regolith more consistent with Ubuntu/Debian/Linux.  Here is a summary:

1. Regolith config files will never be automatically staged in user
directories.
2. Regolith config files will be staged in /etc/regolith/*
3. When a session starts, Regolith will look in user directories for
override files (such as ~/.config/regolith/i3/config) and if not found will
fall back to the staged files in the /etc tree.
4. Users wishing to customize their Regolith configuration can copy the
files from /etc into user directories manually and make changes.
5. Regolith will never update, remove, or create config files in user
directories.  Only flag files that keep track of state such as first user
login will be written to user directories.
6. Upon package update, users with custom configuration will need to
compare their versions with the versions in the /etc tree and make changes
as needed.

My apologies to those who were surprised and confused by this bespoke
approach.  Feedback is welcome in this github issue:
https://github.com/regolith-linux/regolith-desktop/issues/91 as well as the
slack channel.  Another announcement will be made when changes are ready
for testing in regolith-unstable and another one when this change is pushed
to regolith-stable.

Lastly, thank you for bearing with me as I learn the ropes of Linux distro
making.

Kind regards,
ken

Other related posts: