Motivation:
When I had to install a few gentoo boxes in a row, I was looking for a simple way to install a basic set of packages and came up with this approach, using a virtual package pulling in the packages I wanted.

First approach:
The easiest thing is an ebuild, named virtual/myprefpack-0.ebuild, being a virtual package pulling in my stuff as RDEPEND:

My actual RDEPEND list is bigger than the example listed here, as I want to keep them short for the example.

Adding some jobs and a reminder:
Now as we are lazy, we could perform basic things like updating the mlocate database and remind us of some stuff we shouldn't forget. I did it using einfo/elog messages in pkg_postinst()

Introducing USE-Flags for different machine types:
What we did so far was pulling in our packages and running an easy batch job and giving some useful messages. Looking at my systems here, I can sort them into 3 groups: generic clients, generic servers and machines having a the linux/apache/mysql/php stack on them. Introducing USE flags for doing that is pretty simple.

My definition of a pure server machine (USE='server') is, that it's powered on 24/7 while clients are turned off at times, which is why I use vixie-cron there, while using fcron on clients. Servers which are switched off as clients may have both flags set, so I am using a little exclude here:

My current config files are fetched from a git repository which could be implemented in pkg_postinstall(), as sandbox isn't interfering there anymore. Sadly this does not honor CONFIG_PROTECT_________________Please stand by - The mailer daemon is busy burning your messages in hell...

interesting, thanks. i'd add support for adding required users, setting up services, maybe backups, etc. in theory, could be a nice way to have a simple thing like redhat's kickstart._________________++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.

interesting, thanks. i'd add support for adding required users, setting up services, maybe backups, etc. in theory, could be a nice way to have a simple thing like redhat's kickstart.

adding users is possible - even if I would consider that as a waste sometimes:

Code:

enewuser <user> [uid] [shell] [homedir] [groups] [params]

but due to the nature of ebuilds, I wouldn't add service stuff as they can be emerged more than once. Backups could be handled via /etc/cron.daily._________________Please stand by - The mailer daemon is busy burning your messages in hell...

Keep in mind that this setup isn't just for 1 box. You don't want to have too many user accounts around. If you are in a bigger network, you might already use LDAP_________________Please stand by - The mailer daemon is busy burning your messages in hell...

Not sure if you got the idea here, as it's about providing a basic install using onboard tools as much as possible. I don't see the need of depending on a greater infrastructure here for 'home use' or 'small business' - sure, your toy might come in handy as soon as the number of machines you have to maintain exceeds 10 boxes..._________________Please stand by - The mailer daemon is busy burning your messages in hell...

This is what sets are for, though I think that requires portage-2.2._________________"Those who deny freedom to others deserve it not for themselves." - Abraham Lincoln
Free Culture | Defective by Design | EFF

I disagree with that sets would be sufficient for a 'basic setup task' as you cannot add users using sets or performing other scripted tasks like I do using the example._________________Please stand by - The mailer daemon is busy burning your messages in hell...