indoorsdog / development-machine

This is the machine I use to develop.
4 stars 2 forks source link

multi-user support? #20

Open ecc11718 opened 12 years ago

ecc11718 commented 12 years ago

Decide if we're going to support, besides implicit root and obviously vagrant, other users on the box. Are there common cases where other user accounts are needed for development?

If so, the chef node json should be restructured into something like this:

chef.json = {
  'packages' => [ # ...
  ],
  'user_installs' => [
    {
      'user' => 'vagrant',
      'site' => { #...
      },
      'nvm' => { #...
      } #, ...
    } #, user_x...
  ]
}
ecc11718 commented 12 years ago

Even if we don't support multi-user, I think the json needs to be restructured so we're not doing user_installs per "lang."

ecc11718 commented 12 years ago

Maybe that's it. Maybe we don't make the decision. We just structure the json and logic to allow for it?

lukewpatterson commented 12 years ago

to help keep all factors in mind, think about the existing 3rd party rbenv recipe we currently rely on. i wonder if we could consolidate/remap that.

ecc11718 commented 12 years ago

Worst-case scenario, we might have to shoe-horn some duplications for recipes not conducive to the overall layout.

If we can "fool" rbenv into thinking it's got the chef json, great.

ecc11718 commented 12 years ago

Better still, maybe:

chef.json = {
  'packages' => [ # ...
  ],
  'users' => [
    { 'user' => 'vagrant' },
    { 'user' => 'foo' } #, ...
  ],
  'user_installs' => 
  {
    'site' => { #...
    },
    'nvm' => { #...
    } #, ...
  }
}
lukewpatterson commented 12 years ago

regardless of how we handle the langs, the 'users' node is probably a keeper, aligns with 'packages' and 'symlinks' style of json based configuration