Hi Mark, * [17.05.09 01:35]: > My goal or use case is not entirely limited to "duplicating _my_ user > environment across different machines" as I wrote above. I am actualy > seeking the ability to package up the environment of any user on any > machine. What that gives me is a quick path to productivity after a > clean install *and* a kind of a backup *and* the ability to _integrate_ > an environment regardless of which system it is, and not just for _my_ > account. I apologise for not explaining this better in my first mail, > although I'm not sure this is an improvement :-( That did came out in your previous mail, no worries. I just wanted to show you my solution to maybe show you some advantages/other ideas.
> It is a key difference though: You start with a central repository > which is distributed ('git pulled' if you like) to existing user > accounts with no possibility of Debian actions (git hooks instead?), > and I start with the user accounts -> to create the copy, which can be > reinstalled where desired with proper postinst scripts. Actually, the configuration files were moved to the git from my home directory, and this could be automated of course. > You have quite a high setup cost - the manual creation of the remote > respository, which is also a dependency outside the package system. Correct. But the high setup cost pays off pretty soon as you probably know after using configurations and modifying them across different systems. > Your essentials package was no doubt written painstakingly by hand. If That one is wrong, however. There is dh_make, so you just run that and throw out stuff you don’t need. I created the package in like half an hour. Creating the symlink-script (initialize.sh) took a bit longer than that, though. > someone else wants to make use of your work they have to copy your > repos, learn your code, patch in their changes and so on, and they > won't receive the benefit of any future changes you make. I'm trying to > make this a generic solution that doesn't require a user or > administrator to delve into the policy manual, and that still > completely works within the package system. Yes, that’s a good idea, no doubt. I’d like to have a one-command-solution which takes care of everything: - Copy configuration files to a revision control system. - Create a custom debian package with the necessary dependencies. (dh_make may be helpful) - Create a debian repository which you can easily upload to your website. (probably by using apt-ftparchive or reprepro) > Interesting idea though with fetching/storing configuration files via a > revision control system. I think it would be worthwhile investigating > the use of branches to capture the differences between hosts. I decided against that in the first place because the actual differences between the hosts are so minimal (at least in my case) that they can be better managed by source-ing the file in the zshrc or xsession for example. Just putting the files into a host-specific folder reduces maintenance. If you know a really easy solution to the following scenario, I’d be delighted to hear about it, though: - have one branch for each computer (let’s say i’d use 15 different ones) - make a change i want to have on every computer I would now commit it on the master-branch and then use git cherry-pick on each other branch. Is there a better way? Best regards, Michael -- To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org